1

不知何故,无论查询是什么,Sphinx 总是以升序(按主 ID 排序)返回结果。假设我在这 5 个文档中搜索“foo”:

  1. foo bar
  2. foo foo foo foo
  3. ja la la
  4. foo foo foo foo foo
  5. 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
}
4

1 回答 1

3

尝试使用带有 SPH_RANK_WORDCOUNT 的 SPH_MATCH_EXTENDED2 匹配模式

于 2012-11-11T13:15:18.520 回答