我的应用为每个要在lucene中索引的行生成唯一ID,并保存到数据库。 一个sutation是如果有和行具有相同的id,我想更新它,而不是插入新的行和索引。
怎么做?
答案 0 :(得分:9)
这正是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的文档。