2014-09-03 43 views
0

根據匹配的兩個字符串的百分比計算solr分數。Solr評分

例如:如果我搜索了ABDUL,那麼與此搜索字符串類似的結果應該在分數等中更高。

從我的應用程序的示例輸出: 輸出名稱得分 阿卜杜勒·阿齊茲·蘭提西2.218595
阿卜杜勒·侯賽因·阿巴斯2.218595
阿卜杜勒·卡德爾·易卜拉欣·穆罕默德2.218595

我無法弄清楚這個分數是如何分配對這些結果,如果我需要改變分數,那麼我該如何修改這個分數。 我已經通過這個環節http://lucene.apache.org/core/3_6_0/scoring.html

+0

您是否閱讀過https://wiki.apache.org/solr/SolrRelevancyFAQ,尤其是評分章節?打開'debugQuery'? – mindas 2014-09-03 11:12:38

回答

1

走後,我不認爲你應該考慮實際得分,但得分而如何影響呈現的結果。

默認情況下,Solr的確切匹配條件(因爲這是索引最好的)。通常情況下,您可以通過在索引和查詢上轉換數據來解決此問題,例如語音搜索 - 將字段的語音版本以及普通字段編入索引,然後使用常規文本和轉換後的拼音進行查詢文本的版本。通常使用語音搜索來產生最有用的非精確匹配,其中語音字段的得分低於確切字段。請記住使用適合您索引的內容類型(名稱/一般文本/等)以及您正在索引的語言的語音算法。

然而,您也可以執行模糊搜索,您可以通過使用term~[0-1](如果忽略0和1之間的值,使用0.5)來調整確定命中的相似因子。這可能足夠滿足您的需求,您可以調整該值以允許應用程序所需的模糊性。

您還可以使用SpellChecker組件來獲取最接近查詢所包含的詞彙,使用不同的計算「親密度」的方法(因爲「百分比相似」比較開放以供解釋),如levenshtein。

+0

我有兩次索引相同的領域一次使用語音和其他作爲文字一般首先我做一個語音搜索,然後我提供了一個使用模糊搜索和百分比邏輯的文本一般過濾器查詢。但在輸出我需要顯示匹配百分比.For refrence http://stackoverflow.com/questions/25243204/solr-fuzzy-search-with-doublemetaphonefilterfactory – 2014-09-03 12:03:01