MySQL中是否有某些东西可以允许搜索句子而无需关心单词的顺序,例如:搜索Europe league匹配league Europe,与包含3个单词的句子相同...等等

我知道我可以用编程语言来处理此问题并生成MySQL查询,如下所示:

select p.title
from post p
where p.title = 'Europe league' or p.title = 'league Europe'
order by case
    when text = 'Europe league' then 1
    when text = 'league Europe' then 2
end
limit 10;


但是MySQL中是否有针对此问题的自我处理方法?谢谢

最佳答案

您正在寻找全文搜索。阅读the docs,因此您可以使用以下类型的查询:

SELECT p.title
FROM post p
WHERE MATCH (p.title) AGAINST ("+europe +league" IN BOOLEAN MODE)
LIMIT 10

关于php - MySQL:搜索句子并忽略单词顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38314428/

10-11 14:30