2014-01-17 22 views
1

自從大約1年以來,我一直在研究lucene,突然間今天突然想到了一些奇怪的東西。Lucene文檔對象複製其未更改的字段

我正在更新我的索引,使用正常的lucene機制獲取文檔並刪除舊文檔,然後重新索引文檔。 因此 1.從lucene索引中獲取文檔以更新並將此文檔保存在列表中 2.從索引中刪除文檔。 3.使用列表中的文檔更新其中的一些字段,然後重新編制此文檔的索引。

但是,當我發現這個被索引的更新文檔具有原始文檔字段的重複值。

就像假設有一個字段ID:1,我沒有更新這個字段,並更新文檔中的其他內容,然後索引此文檔。 我發現這個id:1在同一個文檔中出現兩次。甚至更進一步,如果我重新編制相同的文檔,同一個字段將在單個文檔下創建那麼多次。

我應該如何擺脫這種重複?

回答

1

我必須對已重新編制索引的文檔進行一些修改。意思是我從索引中獲取的文檔,使用它取出所有字段,然後創建一個新的新文檔並將這些字段添加到該文檔,然後重新索引這個新文檔,該文檔得到正確索引而沒有任何重複。 無法找到原因,但從索引獲取的文檔具有docId,並且由於此原因在內部重新編制索引時可能會發生導致問題的重複。

相關問題