更新现有Lucene索引的最佳方法是什么。我不必只是添加/删除文档,而是更新现有文档。
答案 0 :(得分:11)
您必须打开索引而不覆盖:
IndexWriter writer = new IndexWriter("MyIndexPath",analyzer, false);
末尾的false标志告诉它以追加模式打开。
作者有一个UpdateDocument方法
writer.UpdateDocument(new Term("IDField",id), doc);
id字段应该是一些唯一的文档标识符,例如文件名或文件号等。