我对 MYSQL 比较陌生,有一个问题困扰了我一段时间。我已经尝试到处搜索答案,但到目前为止还无法找到可接受的解决方案。
这是我目前正在运行的查询,用于查找给定搜索词的最佳匹配:
$query="SELECT * from `vocabulary` WHERE translation = 'word' OR translation LIKE '%word%'";
它返回的结果非常全面,因为它们包括所有相关行。但是,它们没有按任何特定顺序排序,当我在 PHP 中打印结果时,我希望首先显示完全匹配的那些。像这样:
1 |单词<-完全匹配
2 | crossword <- 部分匹配项按字母顺序排序/
3 |话
4 |词匠
非常感谢您的协助。
-macspacejunkie
最佳答案
LIKE 不是 fulltext search .在全文搜索中,MATCH(...) AGAINST(...)
返回一个匹配分数,该分数可以粗略地近似为相关性。
关于php - 如何按相关性对MYSQL全文搜索结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1016804/