Lucene文档对象复制其未更改的字段

时间:2014-01-17 13:10:14

标签: java lucene

我大约1年以来一直在研究lucene,今天突然间我发现了一些奇怪的东西。

我正在使用正常的lucene机制更新我的索引,该机制是获取文档并删除旧文档,然后重新索引文档。 所以 1.获取文档以从lucene索引更新并将此doc保存在列表中 2.从索引中删除了文档。 3.使用列表中的文档更新其中的一些字段,然后重新索引此文档。

但是当我发现这个被索引的更新文档的原始文档字段具有重复值时。

就像假设有一个字段ID:1并且我没有更新此字段并更新文档中的其他内容,然后索引此文档。 我发现这个id:1在同一个文档中出现了两次。更进一步,如果我重新索引相同的文档,那么同一个字段将在单个文档下创建很多时间。

我应该如何摆脱这种重复?

1 个答案:

答案 0 :(得分:1)

我必须对重新编制索引的文档进行一些修改。表示我从索引中获取的文档,使用它我取出了所有字段,然后创建了一个新的新文档,并将这些字段添加到该文档,然后重新索引这个新文档,该文档被正确编入索引而没有任何重复。 无法找到原因但是从索引获取的文档具有docId,并且由于这一点,当它在内部重新索引时,可能会发生一些必须导致问题的重复。