4 IK分词器

4 IK分词器

4.1测试分词器

在添加文档时会进行分词,索引中存放的就是一个一个的词(term),当你去搜索时就是拿关键字去匹配词,最终 找到词关联的文档。

测试当前索引库使用的分词器:

post 发送:localhost:9200/_analyze

{“text”:“测试分词器,后边是测试内容:spring cloud实战”}

结果如下:

image-20200130173529745

会发现分词的效果将 “测试” 这个词拆分成两个单字“测”和“试”,这是因为当前索引库使用的分词器对中文就是单字

分词。 所以搜索测试两字是搜不到的

4.2 安装IK分词器

使用IK分词器可以实现对中文分词的效果。

下载IK分词器:(Github地址:https://github.com/medcl/elasticsearch-analysis-ik)

下载zip:

image-20200130173616528

解压,并将解压的文件拷贝到ES安装目录的plugins下的ik目录下

image-20200130173643443

测试分词效果:

发送:post localhost:9200/_analyze

{“text”:“测试分词器,后边是测试内容:spring cloud实战”,“analyzer”:“ik_max_word” }

image-20200130173708667

4.3 两种分词模式

ik分词器有两种分词模式:ik_max_word和ik_smart模式。

1、细颗粒分词器:ik_max_word

会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、

华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。

2、粗颗粒分词器:ik_smart

会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。

测试两种分词模式:

发送:post localhost:9200/_analyze

{“text”:“中华人民共和国人民大会堂”,“analyzer”:“ik_smart” }

4.4 自定义词库

如果要让分词器支持一些专有词语(比如:测试分词器),可以自定义词库。

没有自定义词汇前搜索在词汇表中没有的专有词语(如 测试分词器),会搜索不到:搜索结果:

image-20200130173708667

iK分词器自带一个main.dic的文件,此文件为词库文件。

image-20200130173758644

自定义词库步骤:

1、在上边的目录中新建一个my.dic文件(注意文件格式为utf-8(不要选择utf-8 BOM)),可以在其中自定义词汇:如 测试分词器

在IKAnalyzer.cfg.xml配置文件中配置my.dic,

image-20200130173823846

重启ES,测试分词效果:

发送:post localhost:9200/_analyze

{“text”:“测试分词器,后边是测试内容:spring cloud实战”,“analyzer”:“ik_max_word” }

image-20200130173851109

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值