2015-10-13 72 views
0

我正在使用Solr dataImportHandler爲數據庫編制索引。增量導入計劃每5分鐘運行一次以獲取對數據庫的更改。但是,增量導入只會對現有項目進行更改,而不會對新增項目進行更改。在使用數據輸入處理程序時將新文檔添加到Solr索引

什麼是獲取新項目索引的好方法?我是否應該安排全面進口,如果有的話,是否有一個良好的實踐指南,多頻繁地這樣做? (我一直沒有找到)。或者我應該使用Solrj將新項目添加到索引(我正在使用Solrj進行實際搜索),如果是的話,是否有更新Solr索引有兩個不同的東西的缺陷?或者,增量導入不會提取新項目這一事實表明我對db-data-config文件做了錯誤處理? (這不會令人驚訝)。

如果任何人有這種事情的經驗,這將是很好的知道什麼對你有用。

編輯補充:該查詢在我的DB-數據-config文件是這樣的:

query="select * from t_monkeys where is_deleted=0" 
deltaQuery="select monkey_id from t_monkeys where last_changed_dt > '${dataimporter.last_index_time}'" 
deltaImportQuery="select * from t_monkeys where concat('monkey-',monkey_id) = '${dataimporter.delta.monkey_id}' 
+0

查詢是否將新項添加到數據庫? –

+0

我這麼認爲。我已經爲這個問題添加了示例查詢。 – Juniper83

回答

0

如果使用時間字段(如「上次更改」)爲增量查詢,確保您還可以在創建新行時設置該字段。

例如,如果你的表有4列ID,姓名,updatedOn,addedOn並使用updatedOn數據-config.xml中文件用於識別已更改的行,然後確保你的對於新行,updatedOn不爲空。

+0

你說得對。它應該是這樣做的,但事實並非如此。謝謝。 – Juniper83