fulltext全文索引php
要使用全文索引,不只须要把某个字段的索引类型设置为fulltext,还须要修改mysql配置文件:mysql
[mysqld]sql
ft_wordlist_charset #表示词典的字符集
ft_wordlist_file #词表文件,每行一个词及其词频
ft_stopword_file #过滤掉不索引的词表,一行一个
ft_min_word_len #加入索引的词的最小长度,默认为4,为了支持中文单字故可设置为2
若是建立好全文索引以后,咱们的表有问题,能够修复一下:数据库
repair table 表名称 quick
SQL中怎么查询?服务器
select * from product where match(name) against('php') limit 0,20;
匹配name字段,这个字段的索引必须是fulltext。性能
这就是mysql中全文搜索的简单介绍。注意这只适合数据量很小的项目。
实际开发中,推荐使用第三方如 Sphinx(中文版coreseek)或者ElasticSearchui
mysql的全文索引full text和sphinx的区别spa
1)sphinx能够提供比数据库自己更专业的搜索功能,使得应用程序更容易实现专业化的全文检索code
2)sphinx是一个独立的服务器,具备不少mysql自身不具有的扩展功能,性能更高,更好的缓解数据库的压力等blog