如何按相关性对MYSQL全文搜索结果进行排序

我对MYSQL相对较新,遇到了困扰我一段时间的问题。我已经尝试在所有地方使用Google搜索来寻找答案,但到目前为止仍无法找到可接受的解决方案。

这是我当前正在运行的查询,用于查找给定搜索词的最佳匹配项:

$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";

它返回的结果是全面的,因为它们包括所有相关的行。但是,它们没有按照任何特定的顺序排序,我希望在用PHP打印结果时首先显示完全匹配的匹配项。像这样:


1 | 字<精确匹配

2 | 填字游戏<-按字母顺序排序的部分匹配项/

3 | 字

4 | 文字匠


预先非常感谢您的协助。

-macspacejunkie

回答:

SELECT * from vocabulary 

WHERE translation like 'word'

union all

SELECT * from vocabulary

WHERE translation LIKE '%word%' and translation not like 'word'

将首先列出完全匹配项

以上是 如何按相关性对MYSQL全文搜索结果进行排序 的全部内容, 来源链接: utcz.com/qa/427604.html

回到顶部