我使用Sphinx提供搜索到一個網站,並且在返回相關結果時遇到了一些障礙。獅身人面像搜索完全匹配,然後中綴匹配
爲了讓我的問題簡單化,我們假設我有兩個字段,@title和@body,它們分別加權爲100 & 15。當我搜索這個詞一樣「在」小話,我想有它的排名確切的搜索詞更高,然後支票火柴匹配「在* | *在| *在*」和排名稍低。有什麼辦法可以爲您的搜索提供這種類型的特異性?
示例結果 '在':
- 印度食品
- 在中東
- 文檔關於拉美
一些相關的設置爲:
在的sphinx.conf:
morphology = stem_en
charset_type = utf-8
min_word_len = 2
min_prefix_len = 0
min_infix_len = 2
enable_star = 1
在的search.php
$sp->SetMatchMode(SPH_MATCH_EXTENDED2);
$sp->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sp->SetFieldWeights (array('title' => 100, 'body' => 15));
此外,作爲一個側面說明:我也有一些情況,其中部分匹配甚至不出現在搜索結果中。例如,我已搜索母牛但牛仔未顯示。我也搜索了Cowb和Cowbo直到我輸入牛仔,我收到了預期的結果。有什麼想法嗎?
這個問題是沿着相同的路線爲this previous SO question,但我希望我已經給了更多的細節,以我的問題,我已經盡力保證解決的事情。
是他們的,我可以添加,以幫助人們回答這個問題的任何其他項? – ServAce85