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

标签 php mysql sorting full-text-search

我对 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/

相关文章:

MySQL - 如何对数字上的字母数字数据进行排序

php - 弱类型语言的优点(和缺点)是什么?

php - 如何将一个表中的用户值查询到列标题并获取标题下的值?

php - INET_ATON 在 where 语句 doctrine2 querybuilder zend2

mysql - 在哪里下载 MySQLdump.ext 比 mysqldump.exe ver 5.7.1.7 更新的版本

php - 动态下拉列表 PHP AJAX

c++ - 带有跳跃列表的双向链表以排序方式插入

php - 如何从对象的数组记录集中获取嵌套的 HTML 列表?

php - 将参数传递给模型中的函数

django - 模型管理排序?