mysql全文搜索

时间:2013-04-04 14:01:07

标签: mysql mysqli

有一个问题正在进行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 个答案:

答案 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%'