一、简介
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
------------windows版本安装------------
1.下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases
2.解压,将解压后的IK文件夹拷贝到elasticsearch-5.6.8\plugins下,并重命名文件夹为analysis-ik(注意:必须是analysis-ik)
3)重新启动ElasticSearch(管理员身份运行bin下的elasticsearch.bat),即可加载IK分词器
可以用PostMan测试一下效果:
结果:
{
"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": 4,
"type": "CN_WORD",
"position": 2
},
{
"token": "过过",
"start_offset": 3,
"end_offset": 5,
"type": "CN_WORD",
"position": 3
},
{
"token": "过过",
"start_offset": 4,
"end_offset": 6,
"type": "CN_WORD",
"position": 4
},
{
"token": "过过",
"start_offset": 5,
"end_offset": 7,
"type": "CN_WORD",
"position": 5
},
{
"token": "过过",
"start_offset": 6,
"end_offset": 8,
"type": "CN_WORD",
"position": 6
},
{
"token": "过过",
"start_offset": 7,
"end_offset": 9,
"type": "CN_WORD",
"position": 7
},
{
"token": "的",
"start_offset": 9,
"end_offset": 10,
"type": "CN_CHAR",
"position": 8
},
{
"token": "生活",
"start_offset": 10,
"end_offset": 12,
"type": "CN_WORD",
"position": 9
}
]
}
------------Linux版本安装------------
1.原理跟上面一样,将IK文件夹放到plugins下面,然后重启ES
2.如果是使用docker安装的ES,放入IK文件夹后 重启容器即可(楼主就用的这种)。
补充: 注意版本兼容问题,楼主ES、IK的版本都是5.6.8。