【问题标题】:MYSQL full text search not working properlyMYSQL全文搜索无法正常工作
【发布时间】:2015-10-20 12:02:27
【问题描述】:

如果我搜索一个词“rexx”,那么结果将显示所有与搜索词相似的条目。例如:

搜索词:rexx 记录: 1. Candyrexx 2. 支付宝 3. 贝宝雷克斯 4.雷克西奥 5. 给雷克斯 6.雷克西奥 结果:1、2、3、5、6

我将尝试查询SELECT * FROM user WHERE MATCH(name) AGAINST('+rexx' IN BOOLEAN MODE);,但我得到的结果是条目(3、5、6)。结果中缺少记录 1 和 2。

【问题讨论】:

  • 正如文档清楚地解释的那样,通配符只出现在单词的末尾,而不是开头。
  • 为什么不用LIKE子句?

标签: mysql full-text-search


【解决方案1】:

评论太长了。仅在单词末尾支持通配符。正如documentation 指定的那样:

*

星号用作截断(或通配符)运算符。不像 其他运算符,它被附加到要受影响的单词上。字 如果它们以 * 运算符前面的单词开头,则匹配。

MySQL 全文搜索不(直接)支持您正在寻找的功能。您可以改用LIKE,但这通常效果更差。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-16
    • 2011-07-07
    • 1970-01-01
    • 2014-03-31
    • 2019-08-04
    • 2021-11-10
    • 2017-01-28
    • 2013-12-23
    相关资源
    最近更新 更多