2012-03-07 104 views

回答

8

這正是IndexWrite#updateDocument方法的目的。第一個參數是您的索引中必須唯一的術語。

例如,

String id = "42"; 
Document doc = new Document(); 
Field field = new Field("id", id, Store.YES, Index.NOT_ANALYZED); 
doc.add(field); 

indexWriter.updateDocument(new Term("id", id), doc); 

將確保doc是在你的索引ID 42的唯一文件。

+0

如果id不存在,它會插入嗎? – Shisoft 2012-03-07 16:20:26

+1

是的。該文檔指出「通過首先刪除包含術語的文檔並添加新文檔來更新文檔。」所以在特定的情況下,在之前沒有使用相同的ID索引文檔的情況下,不會刪除任何文檔。 – jpountz 2012-03-07 17:16:56

相關問題