【发布时间】:2011-08-03 00:37:14
【问题描述】:
我在 Dreamhost 上使用共享主机。如何让mysql全文搜索长度小于3的短词?无论如何我可以直接在php中完成吗?
谢谢。
【问题讨论】:
标签: php mysql full-text-search hosting
我在 Dreamhost 上使用共享主机。如何让mysql全文搜索长度小于3的短词?无论如何我可以直接在php中完成吗?
谢谢。
【问题讨论】:
标签: php mysql full-text-search hosting
全文确实适用于 4 个字符或更少的字符串,但默认情况下不适用。您需要通过更改 my.cnf 文件中的 ft_min_word_len=2(如果您想索引 2 个字符单词)来告诉 MySQL 对它们进行索引。
然后您需要重新启动 MySQL,并在相关表上重建全文索引。
某些想要索引的词(例如 IT)可能位于停用词列表中。谷歌搜索会告诉你如何解决这个问题。 IIRC 只是将它们添加到要从默认停用词列表中索引的单词的文本文件中。
【讨论】:
如果您只使用 3 个字符或更少字符的字符串进行搜索,那么进行全文搜索毫无意义 - 您只需要:
select * from table where field LIKE'%xxx%'
如果您正在进行全文搜索,那么您的搜索字符串将超过 3 个字符,这将否定上述要求。
所以 - 您是否在搜索不超过 3 个字符的字符串?
【讨论】:
您必须在查询中使用 LIKE'%xxx%' - 全文不适用于
【讨论】: