单引号的全文查询

Bor*_*tex 6 mysql full-text-search match-against

当我尝试使用带有单引号和星号通配符的字符串(即"levi's*")尝试在布尔模式下进行全文搜索时,我遇到了问题:它似乎也搜索以"s"开头的所有单词,就像"长矛"一样,据我所知,引用应该被认为是单词的一部分,而两个单引号('')将是一个单词分隔符......但也许我错了.

请看这里的例子:http://www.sqlfiddle.com/#!2/3dd3/2/0 - 第二行不应该在那里

我该怎么做我想要的?

Bar*_*chs 2

这为您提供了示例中的两行:

SELECT  *
FROM    ft
WHERE   MATCH(value) AGAINST ('"levi\'s" lacost*' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)

http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html最后,它讨论了双引号中的精确匹配。然后你只需转义单引号就可以了。

使用括号,您可以添加星号:

WHERE   MATCH(value) AGAINST ('(levi\'s)* lacost*' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)