我試圖設置一個簡單的查詢(取自用戶搜索),在當前的書目標題和作者簡單表格中查找結果。我只是用它來作爲一個測試來抓住獅身人面像一點點。獅身人面像中的部分匹配與精確匹配
我的PHP到目前爲止是這樣的:
$oSphinx->setFieldWeights(array('title' => 50, 'author' => 10));
$oSphinx->setMatchMode(SPH_MATCH_EXTENDED2);
$oSphinx->setSortMode(SPH_SORT_RELEVANCE);
$oSphinx->setRankingMode(SPH_RANK_SPH04);
$rMatches = $oSphinx->query('Sarah J. Maas');
我最大綴和字長是3,所以我假設的「J」。爲了搜索目的而被刪除。我的問題是,這些2個返回結果:
薩拉J. MAASTER
薩拉·J·馬斯
它們都具有相同的權重,且都出現在數據集中的順序,所以這是訂單Sphinx返回它們。有沒有辦法在比較模糊的區域之上加權「精確」匹配?我知道這裏有一個exact_hit修飾符,但這在這裏似乎沒有任何作用(無論如何它都包含在SPH_RANK_SPH04中)。我的期望是第二個會有更高的權重,因爲「Maas」匹配結果中的整個單詞而不是子字符串,但似乎並非如此。
我使用Sphinx 2.0.4(Ubuntu 14.04 LTS Package)。
謝謝!
你使用任何形態,可能是轉向'Maaster'成'Maas'? –