更新lucene指数

Akh*_*hil 6 lucene

更新现有Lucene索引的最佳方法是什么.我不必只是添加/删除文档,而是更新现有文档.

Mik*_*kos 11

您必须打开索引而不覆盖:

IndexWriter writer = new IndexWriter("MyIndexPath",analyzer, false);
Run Code Online (Sandbox Code Playgroud)

最后的假标志告诉它以追加模式打开.

该编写器具有UpdateDocument方法

writer.UpdateDocument(new Term("IDField",id), doc);
Run Code Online (Sandbox Code Playgroud)

id字段应该是一些唯一的文档标识符,如文件名或文件号等.

  • @Neelesh考虑到问题标签的含糊不清,以及`UpdateDocument`的大写,我怀疑这个答案是针对lucene.net的. (5认同)
  • 我认为这是不可能的.http://wiki.apache.org/lucene-java/LuceneFAQ#How_do_I_update_a_document_or_a_set_of_documents_that_are_already_indexed.3F (2认同)