mysql - 全短语优先搜索

标签 mysql sql

我们正在实现一个搜索应用程序

我们通过以下 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/

相关文章:

mysql - 使用 “JOIN” 和 “WHERE” 有什么区别?

mysql - Joomla中的字体问题

php - 如何根据列的值从数据库中获取列

sql - 带有 LIMIT 的 SQL UNION 是否优化掉不需要的查询?

mysql - mysql中的触发器导致错误

mysql - 我怎样才能连接这个结果集?

php - 多个 OR ( || ) 和一个 && 在 if 语句中

javascript - 我们应该将条形码存储在数据库中吗?

mysql - 在 MySQL 中执行关系代数除法的 SQL 查询时出错

sql - 对查询语言的作用感到困惑