相关疑难解决方法(0)

MySQL - 如何获得具有准确相关性的搜索结果

我已多次重新审视这个问题,而且我从未真正找到合适的答案.

是否可以执行MySQL搜索,通过相关性返回ACTUAL准确排序的结果?

我正在尝试创建一个ajax搜索表单,它在用户输入到输入字段时提出建议,并且仅使用纯MySQL查询找不到合适的解决方案.我知道有可用的搜索服务器,例如ElasticSearch,我想知道如何只使用原始MySQL查询.


我有一张学校科目表.行数不到1200行,这永远不会改变.让我们执行一个基本的FULLTEXT搜索,用户开始输入"Bio".

查询("Bio ...") - FULLTEXT BOOLEAN MODE

SELECT name, MATCH(name) AGAINST('bio*' IN BOOLEAN MODE) AS relevance
FROM subjects
WHERE MATCH(name) AGAINST('bio*' IN BOOLEAN MODE)
ORDER BY relevance DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

结果

name                                        |  relevance
--------------------------------------------------------
Biomechanics, Biomaterials and Prosthetics  |  1
Applied Biology                             |  1
Behavioural Biology                         |  1
Cell Biology                                |  1
Applied Cell Biology                        |  1
Developmental/Reproductive Biology          |  1
Developmental Biology                       |  1
Reproductive Biology                        |  1
Environmental Biology                       |  1
Marine/Freshwater Biology                   | …
Run Code Online (Sandbox Code Playgroud)

php mysql sql search

7
推荐指数
3
解决办法
9608
查看次数

标签 统计

mysql ×1

php ×1

search ×1

sql ×1