mysql 全文检索

标签 mysql

mysql 查询出现问题。我使用全文搜索。

我尝试在照片表中找到完全匹配的内容,但出现问题。

假设我有一个照片描述,例如“Reodor Hansen mysql 遇到问题”

如果我随后搜索名为 Reodor Mysql 的用户,则可以看到标记 Reodor Hansen 的图片。

是否有获得完全匹配的选项?我现在了解像 ' ' 和 ""这样的引号,但它们在这里对我没有帮助。

问题是,当使用 Reodor Mysql 时,我不会在搜索中看到 Reodor Hansens 照片。

这是我使用的查询

SELECT * FROM _photos WHERE MATCH (描述) AGAINST ('Reodor Mysql' IN BOOLEAN MODE)

进一步。知道我该如何更进一步吗?所以我在搜索框中可以写

“Reodor Mysql 的所有图片”或“显示 Reodor Mysql 上传的最后 10 张图片”

搜索对此有何 react ?

最佳答案

如果您想查找精确的短语,可以使用双引号。就像这样

SELECT * FROM _photos WHERE MATCH (description) 
                  AGAINST ( '"Reodor Mysql"' IN BOOLEAN MODE);

如果您只想要最后 10 张图片,您可以在查询中添加 LIMIT。像这样的事情

SELECT * FROM _photos WHERE MATCH (description) 
                  AGAINST ( '"Reodor Mysql"' IN BOOLEAN MODE) 
                  ORDER BY uploaded_date DESC 
                  LIMIT 10;

关于mysql 全文检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15813445/

相关文章:

mysql - 用于 MySQL 数据(非结构)的 Linux diff 和 patch 命令行实用程序

mysql - 将两个映射表映射在一起?

javascript - Ruby MySQL 格式化程序

php - 在数组中逐渐存储增量数? - 计算平均流水率

php - 错误处理 php_network_getaddresses : getaddrinfo failed. 如何处理?

PHP-如何合并/连接 MySQL 表?

MySQL:优化 300 秒以上的查询?

php - 慢查询 - 多个连接和大量数据

mysql - .NET core 1.0 连接到 Linux 上的 MySQL

mysql - 合并两行并搜索