2011-02-25 65 views
2

我在solr中搜索返回大約1500個文檔。這些文件基本上是產品。例如,我的數據集中有一堆女鞋。我的數據集爲女性提供了各種各樣的鞋子,但它也有一些非常相似的結果,例如,大小爲11的女性,現在,當我搜索女鞋時,導致這些結果的某一組泡沫到頂部,這些結果都非常相似。例如,一個特定鞋型的所有顏色可能會達到頂部。他們絕對是不同的產品,但我寧願獲得更多的結果,而不僅僅是耐克教練鞋的每種顏色。在solr結果輸出中減少類似的最高結果

有沒有人有任何建議?請注意,我不想消除所有單獨着色的產品。當有人搜索藍色女裝耐克運動鞋時,我希望他們能夠獲得藍色模特作爲最佳成績。我使用dismax查詢作爲我的主要查詢。我想要做的是基本上提高某種「與其他結果相比名稱的唯一性」因素。

回答

2

,你可以在喜歡的顏色或使場要麼崩潰:

http://wiki.apache.org/solr/FieldCollapsing

,或者你可以使用近重複檢測時索引:

http://wiki.apache.org/solr/Deduplication

http://karussell.wordpress.com/2010/12/23/detect-stolen-and-duplicate-tweets-with-solr/

後者算法在jetwick中用於推文,所以它應該適用於t itles,但對於大文檔不夠高效(所以只能對'short'字符串進行抄襲檢測)。對於長文本,您需要本地敏感哈希:

http://en.wikipedia.org/wiki/Locality_sensitive_hashing