所以在这里我让 Sphinx 进行了搜索。Sphinx 索引了 2 个字段:标题和数据。当用户输入一个值时,我想显示按相关性排序的所有结果(我认为)
例如:第 1 行,有title
:foo
和data
='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');