2010-05-31 116 views
0

我被要求對Solr做一個評估,作爲商業搜索引擎的替代品。自定義Solr排序

該應用程序現在有一個非常特殊的方式來使用稱爲「桶」的東西對結果進行排序。

我會試着用了一下的細節來說明:

在接口方面,他們有2個字段:「什麼」和「在哪裏」。

這兩個字段實際上是一組字段(什麼=類別,名稱,聯繫信息...和哪裏=國家,州,地區,城市......),所以立即想到Solr的複製字段功能。現在基於生成實際匹配的字段,結果應該在特定的桶中結束。特別是第一個桶包含所有結果文檔,這些文檔在類別字段上具有精確匹配,第二個桶中包含名稱上的所有精確匹配,第三個部分匹配,第四個部分匹配,第五個匹配聯繫信息等等......然後,在每個第一級桶中,所有結果都放在第二級桶中,具體取決於匹配的位置:城市,地區,省份等等。爲了使事情更加複雜化,還有一個第三層存儲桶,根據排名字段的值放置結果:排名字段中值爲1的所有文檔都放入存儲桶1中,依此類推。最後結果應該是在第三級存儲桶中隨機化...

除此之外,他們顯然希望支持facet和paging。

我對很長的郵件表示歉意,但我將不勝感激反饋意見和/或建議。

我知道這是一個非常特殊的問題,但是所有指向正確方向的東西都是有幫助的。

乾杯, 湯姆

+0

我不明白在這樣的結構中facet和分頁如何有意義。 – 2010-05-31 14:50:45

回答

1

這聽起來像應用程序正在使用這個複雜的排序算法爲相關的代理。 Solr使用評分來進行這種排序,併爲您提供多種方法來控制評分方程。

例如,您可以對比詞組匹配更高級的詞組匹配,對某些字段賦予更高的權重等。您甚至可以編寫自己的自定義代碼並將其插入相當簡單。

您可能無法使用此方法複製當前應用程序的確切順序,但這不一定是壞事。