在Sphinx搜索中,按等级和字段排序如何相互关联?

时间:2019-04-02 09:12:19

标签: sphinx sphinxql

假设我有这样的查询:

SELECT <somefields>
FROM example
ORDER BY somefield ASC
OPTION ranker=bm25

这似乎是矛盾的。如何排序?仅由somefield?还是仅靠BM25等级?或两者?如果两者都最重要?我可以同时使用somefield ASC, rank DESCrank DESC, somefield ASC吗?如何完全禁用排序?

1 个答案:

答案 0 :(得分:1)

仅按某个领域订购。有一个隐式ORDER BY WEIGHT() DESC,但是如果设置任何顺序,它将完全覆盖该隐式值。

...可以选择在多分类中使用重量,例如

ORDER BY somefield ASC, WEIGHT() DESC

在您的示例查询中,未使用实际计算出的重量。它不是分类的,不是选择的。实际上,狮身人面像可能会在内部更改为“无”排名,但可以显式选择

OPTION ranker=none

这不是“完全未排序”的内容,不能说ORDER BY NULL或其他任何内容。