2012-06-12 57 views
5

我們現在計劃通過分面目錄導航推出Solr搜索電子商務網站。如何處理Solr中的關係數據

我們對產品及其規格屬性有一些複雜的數據模式,它們是動態的。

我們當然無法理解如何將這些數據映射到Solr?我們是否需要有兩個索引,一個用於產品索引,另一個用於與產品或單一模式映射的規格屬性。

但是,如何,任何例子都會很棒。

回答

8

目前,您無法加入多個索引索引。在Solr 4.0中將會有Join的功能。但是,這將能夠在單個索引內連接文檔。

規範化的數據庫模式必須在索引到索引之前進行拼合。這實際上是您獲得大部分運行時性能增益的地方,因爲數據庫中的連接代價很高。

跨產品和規格複製一些列是可以的。也許如果你能描述個人屬性和基數,我可以進一步思考。

我的背景是,我已經將嚴重規範化的數據庫模式索引到3個索引索引中。我使用了基數測試和搜索用例來縮小這個分割。例如,我在一個索引中有客戶協議,在另一個索引中有客戶協議,在另一個客戶和代理之間有客戶關係。我登上了我能得到的最少的索引。服務層集成了三個索引。在這裏創建單個索引會使其維護過於龐大和複雜。

您可以嘗試的其他方法之一是搜索解決方案,並通過數據庫搜索來豐富單個文檔。這帶來了一些成本,但是如果您已經解決了solr搜索中的主鍵,那麼這些查找將不會很昂貴。

+0

Solr 4生產準備好了嗎? – Krunal

+0

從歷史上看,Solr預發佈已用於生產(包括我們在內)。當然,這取決於公司處理問題的願望,需要的功能集以及可以修復漏洞等的程序員的可用性。 – user1452132