【问题标题】:MYSQL FULLTEXT search does not work with hypen '-' and plus '+'MYSQL FULLTEXT 搜索不适用于连字符“-”和加“+”
【发布时间】:2015-10-13 07:24:28
【问题描述】:

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

示例: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

请多多指教。提前致谢。

【问题讨论】:

    标签: mysql full-text-search match


    【解决方案1】:

    您需要使用 *. documentation 说:

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

    试试这个:

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

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

    where BINARY your_column = BINARY "2-9"
    

    【讨论】:

    • MATCH(field) AGAINST("+91 89*" IN BOOLEAN MODE) 它将返回空结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 2016-01-07
    • 2019-02-07
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多