我正在尝试通过使用Lucene索引中的术语来删除文档。但是我在下面编写的代码无法正常工作。有什么建议如何在lucene index中执行删除功能?

public class DocumentDelete {
public static void main(String[] args) {
File indexDir = new File("C:/Users/Raden/Documents/lucene/LuceneHibernate/adi");
Term term = new Term(FIELD_PATH, "compatible");
Directory directory = FSDirectory.getDirectory(indexDir);
IndexReader indexReader = IndexReader.open(directory);
indexReader.deleteDocuments(term);
indexReader.close();
}
}

最佳答案

IndexReader indexReader = IndexReader.open(directory); // this one uses default readonly mode

而是使用这个:
IndexReader indexReader = IndexReader.open(directory, false); // this will open the index in edit mode and you can delete the index. . .

因此,您不需要任何其他工具即可删除索引内容。 。 。

10-05 21:53