如何设置一个字段以保持lucene中的行唯一?

时间:2012-03-07 02:36:37

标签: lucene uniqueidentifier

我的应用为每个要在lucene中索引的行生成唯一ID,并保存到数据库。 一个sutation是如果有和行具有相同的id,我想更新它,而不是插入新的行和索引。

怎么做?

1 个答案:

答案 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的文档。