IK分词器和Elasticsearch集成使用
Posted ZNineSun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IK分词器和Elasticsearch集成使用相关的知识,希望对你有一定的参考价值。
上一章:《ElasticSearchRepository和ElasticsearchRestTemplate的使用》
文章目录
6.1 前言
在学习分词之前,我们先看看es自带的分词效果:
大致内容如下:
"tokens":[
"token": "我", "start_offset": 0, "end_offset": 1, "type": "<IDEOGRAPHIC>",…,
"token": "是", "start_offset": 1, "end_offset": 2, "type": "<IDEOGRAPHIC>",…,
"token": "程", "start_offset": 2, "end_offset": 3, "type": "<IDEOGRAPHIC>",…,
"token": "序", "start_offset": 3, "end_offset": 4, "type": "<IDEOGRAPHIC>",…,
"token": "员", "start_offset": 4, "end_offset": 5, "type": "<IDEOGRAPHIC>",…
]
而我们希望得到的则是:我、是、程序、程序员。
支持中文的分词器有很多,word分词器,庖丁解牛,Ansj分词器,jieba分词,本章重点讲解IK分词器的使用
6.2 IK分词器的安装
在《docker安装elasticsearch》一文中已经给出了linux环境下该分词器的安装,本文在将windows的安装方法给出
安装包地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
解压,将解压后的文件夹拷贝到es所在的plugins目录下,并重命名文件夹为ik (其他名字也可以,目的是不要和其他插件重名)
完成以上步骤后,重新启动我们的es服务即可,不过我发现我的es版本是:7.15.2,然后ik的版本是8.6.0的时候启动会失败,cmd界面会直接闪退,然后又下载了一个和es相同版本的ik
如果重启es之后,界面有
上图所示的提示,表示你安装成功
接下来,我们再次进行测试
6.3 IK分词器测试
IK提供两种分词ik_smart和ik_max_word
- ik_smart为最少切分
- ik_max_word为最细粒度划分
结果便符合我们的预期了
"tokens": [
"token": "我",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
,
"token": "是",
"start_offset": 1,
"end_offset": 2,
"type": "CN_CHAR",
"position": 1
,
"token": "程序员",
"start_offset": 2,
"end_offset": 5,
"type": "CN_WORD",
"position": 2
]
在上一章中,我们对实体属性进行以下设置
学习完本章,想必你便可以明白什么意思了。
以上是关于IK分词器和Elasticsearch集成使用的主要内容,如果未能解决你的问题,请参考以下文章
ElasticSearch进阶篇之IK分词器和自定义词库实现