为了对两个字母的短语进行FULLTEXT搜索,例如“ PR 经理”和“ MS Word”,我添加了 ft_min_word_len = 2 < / em>到MySQL配置文件(/etc/mysql/my.cnf)。
这样做有什么特别的错吗?它会降低性能吗?它会阻止扩展到大型数据集吗?
任何意见都将不胜感激。
答案 0 :(得分:2)
不,它可能只会增加您的全文字典大小,但不会对搜索性能产生特别影响。
答案 1 :(得分:2)
所有双字母组合都必须编入索引,这会增加搜索索引的大小并减慢索引过程。它应该对搜索本身的速度产生很小的影响。你也可能遇到更多的单词成为停止词并变得无法搜索。鉴于FTS通常不区分大小写,“PR”和“MS”不太可能成为停止词,但“IT”很可能会出现。
答案 2 :(得分:1)
根据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仅减少结果,而不是索引大小。