【问题标题】:MySQL Fulltext Search Query Missing ResultsMySQL全文搜索查询缺少结果
【发布时间】:2012-10-30 05:43:01
【问题描述】:

我无法使用全文搜索查询选择所有必要的结果。

SELECT i.strItemName FROM Item i WHERE MATCH( strItemName ) AGAINST ( 'big*' IN BOOLEAN MODE )

由于某种原因,查询仅返回可能的 83 个结果中的 5 个。我不明白它在做什么。它没有列出“大熊猫”、“大头男孩”等项目。

非常感谢任何建议!

谢谢 阿明

【问题讨论】:

  • 你不想匹配 'big%' 而不是 'big*' 吗?
  • @nathanhayfield 你想到的LIKE,全文仅使用+(必需)、-(省略)和~(否定)作为运算符。也可以使用通配符后缀*,但不支持前缀。

标签: mysql full-text-search


【解决方案1】:

全文默认有一个最小字长,通常是 4 个字符(参见ft_min_word_length)。低于限制的任何内容都被视为噪音并被忽略。

要更改限制,请设置新值,然后您必须重建全文索引以获取现在落在可索引限制内的单词。

【讨论】:

  • 谢谢!我将环境变量设置为最少 3 个字符,重置全文索引,就像一个魅力 :)。全文搜索的唯一小缺点是它似乎没有部分短语搜索。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-25
  • 2021-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多