【问题标题】:Is there anything terrible about setting ft_min_word_len=2 for MySQL FULLTEXT searches?为 MySQL FULLTEXT 搜索设置 ft_min_word_len=2 有什么可怕的吗?
【发布时间】:2009-07-30 19:36:38
【问题描述】:

为了对“PR Manager”和“MS Word”等 2 个字母的短语进行 FULLTEXT 搜索,我添加了 ft_min_word_len=2 到 MySQL 配置文件 (/etc/mysql/my.cnf)。

这样做有什么特别的错误吗?它会降低性能吗?它会阻止扩展到大型数据集吗?

任何 cmets 将不胜感激。

【问题讨论】:

  • 你的mysql是什么版本的?最新的 mysql 是否仍支持此配置?

标签: mysql full-text-search


【解决方案1】:

不,它可能只会增加您的全文字典大小,但不会对搜索性能产生特别影响。

【讨论】:

    【解决方案2】:

    所有两个字母的组合都必须编入索引,这会增加搜索索引的大小并减慢索引编制过程。它应该对搜索速度本身的影响很小。您也可能会遇到更多的词成为停用词并变得无法搜索。 “PR”和“MS”不太可能成为停用词,但“IT”很有可能,因为 FTS 通常不区分大小写。

    【讨论】:

      【解决方案3】:

      根据documentation,min_word_len 只会减少您的索引大小。

      仅供参考,min_infix_len 是另一回事。假设 2.0.1-beta 或更高版本,Sphinx 使用的是dict=keywords

      有两件事要知道:

      • 只要您指定了 min_infix_len,Sphinx 就会存储单词的后缀以允许中缀/后缀搜索。

      • 减小 min_infix_len 不会减小索引大小(就像以前使用旧的 crc 索引一样)。这是因为仍然需要存储所有单词后缀。因此,min_infix_len 只会减少结果,而不是索引大小。

      【讨论】:

      • Tom 询问的是 MySQL 全文,而不是 Sphinx。
      • 嗯。我从哪里得到这个想法...感谢您指出这一点!
      猜你喜欢
      • 1970-01-01
      • 2010-12-29
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      • 2013-06-04
      相关资源
      最近更新 更多