有一个问题正在进行mysql查询。我使用全文搜索。
我尝试在照片表中找到完全匹配,但会出现问题。
我们假设我有一张照片描述,例如“Reodor Hansen与mysql有问题”
如果我然后搜索名为Reodor Mysql的用户,将会显示Reodor Hansen标记的图片。
是否有选项可以获得完全匹配?我现在关于“'和”这样的引用,但他们在这里没有帮助我。
问题是,当Reodor Mysql出现时,我不会在搜索中看到Reodor Hansens的照片。
这是我使用的查询
SELECT * FROM _photos WHERE MATCH(description)AGAINST('Reodor Mysql'IN BOOLEAN MODE)
此外。知道我怎么能更进一步吗?所以我在搜索框中可以写
“Reodor Mysql的所有图片”或“向我展示Reodor Mysql上传的最后10张图片”
并且搜索对此做出回应?
答案 0 :(得分:1)
如果要查找确切的短语,可以使用双引号。就像这样
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;
答案 1 :(得分:0)
如果您希望与Reodor Mysql
完全匹配,则必须使用LIKE operator:
SELECT * FROM _photos WHERE description LIKE '%Reodor Mysql%'