2014-06-30 59 views
0

有沒有辦法找出Lucene索引中輸入的最後一個Lucene文檔?例如。 Lucene是否會以某種方式記錄歷史記錄,或者我可以以某種方式提取已添加到索引中的文件(文檔)的順序?Lucene索引歷史記錄/ Last File Indexed

背景:我想構建一個非常大的索引,其中有數百萬個文檔需要幾天才能運行。我希望有一個索引實現來檢測上次添加的文件,並在再次重新啓動時在此位置繼續。

回答

2

不是,不。你會得到最接近的是從索引中獲得最高文檔ID。如果你只是開始向一個空索引添加文檔,沒有任何東西被刪除或更新等,那麼它甚至可能工作。儘管如此,仍然沒有保證doc id被分配。

如果您需要了解添加文檔的順序。你應該添加一個處理該字段的字段。日期/時間存儲的索引時間或序列號會很好地服務。儘管聽起來有點像過度殺毒,但您只需存儲一個標識符以識別要從中恢復的源文檔。在那種情況下,將其中一個ID存儲在任何地方。在lucene中,在數據庫中,在txt文件中,是一個序列化的字符串。無論讓你開心。

+0

有道理,我存儲了從我的收藏中索引的最後一個id,這似乎很好。我實際上存儲了每個ID,這樣我就不必知道哪一個可能會翻倍,運行時性能相當不錯。 – RalfB