不知何故,无论查询是什么,Sphinx 总是以升序(按主 ID 排序)返回结果。假设我在这 5 个文档中搜索“foo”:
foo bar
foo foo foo foo
ja la la
foo foo foo foo foo
foo foo foo
这将返回匹配项:1、2、4、5,其中 1 是最相关的。至少,这是 var_dump 在 PHP 中向我展示的。但是,我希望真正的顺序是:4、2、5、1。我应该如何解决这个问题?我正在使用以下设置:
$sphinx->SetMatchMode(SPH_MATCH_ALL);
$sphinx->SetRankingMode(SPH_RANK_PROXIMITY_BM25);
$sphinx->SetSortMode(SPH_SORT_RELEVANCE);
正在搜索以下来源:
source pages
{
type = mysql
sql_query = SELECT text_id, book_id, content, page_number FROM text
sql_attr_uint = page_number
sql_attr_uint = book_id
sql_query_pre = SET SESSION group_concat_max_len = 4294967295
}