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

Java Lucene文档对象复制其未更改的字段,java,lucene,Java,Lucene,我在lucene上工作了大约1年,今天突然发现了一些奇怪的东西 我正在使用常规的lucene机制更新索引,即获取文档并删除旧文档,然后重新为文档编制索引。 所以 1.从lucene索引中获取要更新的文档,并在列表中维护此文档 2.已从索引中删除文档。 3.使用“来自列表的文档”更新了部分字段,然后重新索引了此文档 但是当我发现这个被索引的更新文档在原始文档字段中有重复的值时 假设有一个id为1的字段,我没有更新这个字段,而是更新了文档中的其他内容,然后索引了这个文档。 我发现id:1在同一文档中

我在lucene上工作了大约1年,今天突然发现了一些奇怪的东西

我正在使用常规的lucene机制更新索引,即获取文档并删除旧文档,然后重新为文档编制索引。 所以 1.从lucene索引中获取要更新的文档,并在列表中维护此文档 2.已从索引中删除文档。 3.使用“来自列表的文档”更新了部分字段,然后重新索引了此文档

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

假设有一个id为1的字段,我没有更新这个字段,而是更新了文档中的其他内容,然后索引了这个文档。 我发现id:1在同一文档中出现了两次。如果我对同一个文档重新编制索引,同一个字段将在单个文档下多次创建


我应该如何消除这种重复?

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