0

所以在这里我让 Sphinx 进行了搜索。Sphinx 索引了 2 个字段:标题和数据。当用户输入一个值时,我想显示按相关性排序的所有结果(我认为)

例如:第 1 行,有titlefoodata='foo bar' 第 2 行,有title='foo bar' 和data='foo bar' 如果用户输入 foo 我希望第 1 行首先显示,因为标题字段是 100% 匹配

$sphinx = new SphinxClient;
$sphinx->SetServer(SPHINX_HOST,SPHINX_PORT);
$sphinx->SetLimits(0,2,1000);
$sphinx->SetMatchMode(SPH_MATCH_EXTENDED2);
$sphinx->SetFieldWeights([
    'title' => 100,
    'data' => 1,
]);
$sphinx->SetSortMode(SPH_SORT_RELEVANCE);
$data = $sphinx->Query('(@title_original '.$full_phrase.' | @data '.$full_phrase.') & @data cover1','index');
4

1 回答 1

0

从理论上讲,这就是SPH_RANK_SPH04目的。与setRankingMode

http://sphinxsearch.com/docs/current.html#weighting

于 2013-11-06T11:45:37.090 回答