我们正在实现一个搜索应用程序
我们通过以下 SQL 查询实现了精确单词搜索
SELECT *
FROM jreviews_content
WHERE jr_produits REGEXP '[[:<:]]ryan[[:>:]]'
现在效果很好,我们还有另一个要求
如果用户输入单词“Cabaret Mile-End”,则会出现各种结果,其中包含 Cabaret 和 Mile-End,但其中包含整个短语的行出现在最后一个结果中。所以我想要一个完整的短语优先级正在搜索。
最佳答案
正如我的评论所说:
尝试使用LIKE
结构,如下所示
SELECT *
FROM jreviews_content
WHERE jr_produits LIKE '%Cabaret Mile-End%'
UNION ALL
SELECT *
FROM jreviews_content
WHERE jr_produits REGEXP '[[:<:]]Cabaret Mile-End[[:>:]]'
我不知道您在最后一个查询中输入了什么,因此我将值放在中间。
关于mysql - 全短语优先搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19381241/