假设我有一个这样的数据库(MyISAM
):
+------------+-------------------+------------------+
| student_id | student_firstname | student_lastname |
+------------+-------------------+------------------+
| 30 | Patrik | Andersson |
| 79 | Patrik | Svensson |
+------------+-------------------+------------------+
我执行这个查询:
SELECT s.student_firstname, s.student_lastname FROM students s
WHERE MATCH (student_firstname, student_lastname)
AGAINST
('+Patrik Svensson*' IN BOOLEAN mode)
这将生成上述两行。为什么我的结果中没有一行?是因为
student_lastname
中的最后三个字母相同吗?有什么方法可以使FULLTEXT
更精确吗? 最佳答案
我已经测试过了,这个查询给出了正确的结果
SELECT s.student_firstname, s.student_lastname FROM students s
WHERE MATCH (student_firstname, student_lastname)
AGAINST
('+Patrik +Svensson*' IN BOOLEAN mode)
关于mysql - MySQL全文搜索显示我不正确的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11561093/