提问者:小点点

Apache Lucene索引编写器


我是apache lucene的新手。我开始使用lucene。我遇到了一个问题。我开始索引目录中的所有文件。我没有关闭索引器,而是尝试在卢克打开。它提示错误“索引未关闭”。这里的问题是代码执行已经完成。如何解锁索引?如果我用相同的目录实例化一个新的IndexWriter,它会覆盖现有的索引吗?


共1个答案

匿名用户

我也不是专家…

如果我是你,我会做以下事情。

1) 在末尾将以下代码片段添加到代码中,这是必须不惜一切代价的。

myIndexWriter.close(); 

2) 手动删除现有目录,然后重新运行整个代码。

如果在不删除目录的情况下实例化新的 IndexWriter,则会将文档添加到现有索引。是的,这将导致重复的索引条目。

然而,从Lucene的角度来看,所有这些条目仍然是惟一的,也就是说,每个addDocument()都用一个新的惟一的lucene-internal-doc-id在索引中创建了一个新条目。