使用括号在Fulltextsearch中对搜索词进行分组时,将忽略它们。而是搜索所有单词。
我在debianb6.0上使用MySQL 5.6.14。 min_ft_token_size = 2并且我正在使用InnodDB表。我尝试了与此结果不同的查询:
select * from bewerbercv where MATCH(cvtext) AGAINST('(+VMWare +"Windows Server" +Linux +SQL) (+VMWare +"Windows Server" +Linux +VoIP)' IN BOOLEAN MODE)
-> 169个结果
select * from bewerbercv where MATCH(cvtext) AGAINST('(+VMWare +"Windows Server" +Linux +SQL)' IN BOOLEAN MODE)
-> 856个结果
在第一个查询中,括号应为“或”,因此比第二个查询返回更多结果。
当我运行此查询时
select * from bewerbercv where MATCH(cvtext) AGAINST('+VMWare +"Windows Server" +Linux +SQL +VoIP' IN BOOLEAN MODE)
-> 169个结果
我得到与第一个相同的结果,清楚地表明,无论括号如何,所有单词都将被搜索。
我在这里想念什么?还是这是MySQL中的错误?