【MySQL】全文索引
全文索引
1. ngram全文解析器
ngram就是一段文字里边联系的n个字的序列,例如ngram对生日快乐进行分词
n=1: ‘生’, ‘日’, ‘快’, ‘乐’
n=2: ‘生日’, ‘日快’, ‘快乐’
n=3: ‘生日快’, ‘日快乐’
n=4: ‘生日快乐’
2. 添加全文索引
alter table test add fulltext index testfulltext(name) with parser ngram;
3. 设置倒排序的分词信息
set global innodb_ft_aux_table=‘learn/test’;
learn是数据库
test是表名
当新增加一条数据时,会把设置全文索引的那个字段的值进行分词排序显示
4. 自然语言的全文索引
select * from test where match (name) against (‘实来’ in natural language mode) limit 0,3;
5. 布尔索引
select * from test where match (name) against (’+实来’ in boolean mode) limit 0 ,3;
6. 注意
只有MyISAM引擎才能使用布尔全文索引,但并不是一定要有全文 索引才能使用布尔全文搜索。当没有全文索引的时候,MySQL就通过 全表扫描来实现。所以,你甚至还可以在多表上使用布尔全文索引,例 如在一个关联结果上进行。只不过,因为是全表扫描,速度可能会很 慢。
文章来源: blog.csdn.net,作者:咔咔-,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/fangkang7/article/details/99981763
- 点赞
- 收藏
- 关注作者
评论(0)