MYSQL FULLTEXT搜索不适用于炒作' - '加上' +'

时间:2015-10-13 07:24:29

标签: mysql full-text-search match

问题:我正在使用MYSQL和PHP最新版本。我们在MYSQL FULLTEXT搜索中遇到了这个问题。它不适用于hypen( - )和plus(+)字符。

示例1    在行业表中,' industry_size'字段具有以下值:

 1. 1
 2. 2 - 9
 3. 10 - 15

如果我使用搜索字词2 - 9,则会显示空结果,但正确答案为2 - 9

示例2    在用户表格中,' phone_number'字段具有以下值:

 1. 9856237845
 2. +91 8945785698
 3. +91 7489569878

如果我使用搜索字词+91 89,则会显示空结果,但正确答案为+91 8945785698

请告知。提前谢谢。

1 个答案:

答案 0 :(得分:0)

你需要使用*。 documentation说:

  

星号用作截断(或通配符)运算符。不像   其他运营商,应该附加到受影响的词。   如果单词以*运算符之前的单词开头,则匹配。

试试这个:

MATCH(field) AGAINST("+91 89*" IN BOOLEAN MODE)

或者您可以使用二元运算符

where BINARY your_column = BINARY "2-9"