【MySQL】全文索引

举报
原来是咔咔 发表于 2022/03/26 23:16:07 2022/03/26
【摘要】 文章目录 全文索引1. ngram全文解析器2. 添加全文索引3. 设置倒排序的分词信息4. 自然语言的全文索引5. 布尔索引6. 注意 全文索引 1. ngram全文解析器 ...

全文索引

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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。