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/