我是Solr的新手。我試圖製作一個將結構化數據存儲在數據庫中的服務器,並且可以使用Solr/Lucene進行搜索。可以將服務器集羣到任意數量的相同節點中以實現高可用性。能否讓Apache Solr索引在事務上與被索引的數據庫一致?
似乎標準配置Solr將索引存儲在文件系統上的文件中。這似乎引入了一致性和集羣方面的一些問題。
如何使索引與數據庫在事務上一致?有沒有辦法做到這一點? (例如某種方式來提交數據庫提交到Solr索引的提交協調?)
是否有任何方法將索引存儲在(關係數據庫)中?這將解決一致性問題和集羣問題,但是我沒有找到關於如何做到這一點的大量文獻。
當配置爲羣集時,每個羣集節點是否需要維護它自己的索引副本。目前還不清楚Solr的多個實例是否可以更新單個索引。
或者 - 我們是否放棄接受該索引不能保證一致,每天重建呢?人們通常會對此做些什麼?
這可能有助於在單個文檔上爭用更新http://stackoverflow.com/questions/12857218/versioning-and-optimistic-locking-in-solr-4-0您是否遇到特定問題像頭腦中的多文檔原子一樣? – aitchnyu
具體問題是簡單地爲集羣企業應用程序提供索引。每個節點都獨立更新數據庫。由於Solr不會將數據存儲在數據庫中,因此每個節點都必須有自己的Solr副本運行,並且每個節點都有自己的索引。問題很簡單,就是確保每個Solr都得到來自每個羣集節點的所有更改的通知。如果節點退出,數據庫將回滾到一致狀態,但Solr索引可能包含更多或更少的更新。這些指標在重建之前將會是錯誤的,這些必須定期完成。 – AgilePro