1. 调整一下可索引term的最小长度,mysql默认是4,即4个以上字符的词才会被索引;但对中文来说,两个字就应该索引了。
查看
引用
mysql > SHOW VARIABLES LIKE ‘ft_min_word_len’
修改:
引用
#/etc/mysql/my.cnf
[mysqld]
ft_min_word_len = 2
最后重启一下mysql server
2. mysql全文索引只能通过空格、标点符号之类的进行分词,这对中文来说不可接受。为了解决中文分词问题,可以把字符转为unicode后再存储:
http://www.xingdonghai.cn/mysql-fulltext-index-with-unicode/.
3. 默认的搜索模式会返回看起来严重不相关的东西;最好用boolean mode. 使用这种模式时应该过滤掉空格和加号(UCS-2编码分别是"8192"和"11008"),否则会影响命中率。