不知何故,无论查询是什么,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
}
答案 0 :(得分:3)
尝试将SPH_MATCH_EXTENDED2匹配模式与SPH_RANK_WORDCOUNT一起使用