首页 文章

mysql全文搜索

提问于
浏览
0

有一个问题正在进行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张图片”

并且搜索对此做出回应?

2 回答

  • 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;
    
  • 0

    如果您想要完全匹配 Reodor Mysql ,则必须使用LIKE operator

    SELECT * FROM _photos WHERE description LIKE '%Reodor Mysql%'
    

相关问题