從數據庫中獲取一些數據,並使用lucene對其進行索引和存儲。使用Lucene將新文件追加到已編入索引的文件中
後來,一些更多的數據被添加到數據庫,我需要索引這些新添加的數據,並追加到現有的索引文件。
你可以用程序解釋一下嗎?
從數據庫中獲取一些數據,並使用lucene對其進行索引和存儲。使用Lucene將新文件追加到已編入索引的文件中
後來,一些更多的數據被添加到數據庫,我需要索引這些新添加的數據,並追加到現有的索引文件。
你可以用程序解釋一下嗎?
你在問什麼是增量索引這在索引方面更少,更多的是從數據庫中選擇數據(目標文檔)的方法。
您需要使您的SQL SELECT
查詢足夠靈活以使用標識新添加/更新的行的列。
該列通常是DATE
列即類似 - LAST_ADDED_DT
,LAST_UPDT_DT
這樣你就可以提取記錄添加/去年x天更新,X小時等
例如在DB2一樣,WHERE DATE(LAST_UPDT_DT) >= CURRENT DATE - 2 DAY
會給你的記錄在最後兩天,等
,然後更新使用Lucene的作家,而不是addDocument(...)
的updateDocument(...)
方法,因爲updateDocument(...)
如果文檔是一個新的文件將添加的文件和文件是否已經存在,將更新。
所以這種方法負責更新現有的行以及新的行。
Lucene創建新文件或附加到現有文件不是您的頭痛,然後,Lucene將根據其設置和結構爲該版本組織文件。
您應該在OpenMode.CREATE_OR_APPEND
模式下打開您的作家。
希望這有助於!
是的,它是增量索引。我可以單獨添加最後添加的文件,不用擔心這一點。問題是用已經索引的文件追加這些文件。那麼你能幫助一個示例程序來追加那個已經編入索引的文件的新索引文件嗎? –
當對Lucene提出問題時,請始終指定正在使用的版本。 –