我正在使用FULLTEXT自然语言搜索,我注意到它会根据相关性自动对结果进行排序。但是,当我开始向ORDER添加内容时,它似乎不再按相关性排序。有没有办法明确设置相关性排序的重要性?
答案 0 :(得分:2)
如果在SELECT查询的列部分中指定MATCH(...)AGAINST(...),则可以通过'score'显式排序,然后按任何其他必需参数显式排序。
例如:
SELECT column_a, column_b, MATCH(...) AGAINST (...) AS score
FROM
...
ORDER BY score DESC, column_a DESC
这可能看起来有点可疑(因为您必须在查询的WHERE部分内重复相同的MATCH子句来进行实际匹配),但它应该可以正常工作。 (如果有一种狡猾的方法来混淆这些东西,我很想知道,但在我使用的MySQL的最后一个版本中似乎没有。)