我尝试在我的项目中使用全文搜索。当我使用自然语言全文搜索搜索超过单词时,它对我来说工作得很好。下面是我的代码的一些示例:
SELECT * FROM table WHERE MATCH (title, title_ar, title_en) AGAINST ('some exemple' IN NATURAL LANGUAGE MODE);
我也可以这样做来获得分数并按分数排序:
SELECT *,
MATCH (title, title_ar, title_en) AGAINST ('some exemple' IN NATURAL LANGUAGE MODE) as scor
FROM table
WHERE MATCH (title, title_ar, title_en) AGAINST ('some exemple' IN NATURAL LANGUAGE MODE);
问题是当我使用一个词来搜索时,就像这样:
SELECT *,
MATCH (title, title_ar, title_en) AGAINST ('exemple' IN NATURAL LANGUAGE MODE) as scor
FROM table
WHERE MATCH (title, title_ar, title_en) AGAINST ('exemple' IN NATURAL LANGUAGE MODE);
它给了我更多相同分数的结果,按升序排序。对我来说,我想按id DESC
排序,但我不能这样做。
1条答案
按热度按时间kx1ctssn1#
基本上,你想按
scor
和id
对结果进行排序。未经测试的代码有望为你解决这个问题: