Reputation: 2389
What is the best way to update an existing Lucene index. I dont't just have to add/delete documents from it, rather update the existing documents.
Upvotes: 6
Views: 13802
Reputation: 8543
You will have to open the index without overwriting thus:
IndexWriter writer = new IndexWriter("MyIndexPath",analyzer, false);
The false flag at the end tells it to open in append mode.
The writer has an UpdateDocument method
writer.UpdateDocument(new Term("IDField",id), doc);
the id field should be some unique document identifier such as filename or file number etc.
Upvotes: 13