安装
下载ik分词器,注意要和自己的ElasticSearch版本号一模一样才行,如果不一样可能会有冲突,比如说你ElasticSearch用的是7.6.1版本,那么ik分词器也要是7.6.1,不然就可能启动不成功.
如果你是集群环境,那么就将ik分词器安装在集群中的每一台机器上,如果你是单机环境,也是只安装在这一台机器上即可
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases
创建文件夹
在 elasticsearch-7.6.1/plugins 文件夹下创建 ik的文件夹
然后将ik分词器放到ik文件夹里面进行解压即可
解压命令:
unzip elasticsearch‐analysis‐ik‐7.6.1.zip
[zjj@zjj101 plugins]$ ls
ik
[zjj@zjj101 plugins]$ cd ik/
[zjj@zjj101 ik]$ ls
commons-codec-1.9.jar elasticsearch-analysis-ik-7.6.1.jar plugin-descriptor.properties
commons-logging-1.2.jar httpclient-4.5.2.jar plugin-security.policy
config httpcore-4.4.4.jar
[zjj@zjj101 ik]$
然后重启ElasticSearch
测试ik分词器是否好用
在 ElasticSearch命令客户端输入 ,我这里使用的是kibana,如果没下载的话,可以参考:
https://blog.csdn.net/qq_41489540/article/details/121065281 这个博客进行安装
ik_smart:会做最粗粒度的拆分
输入:
POST _analyze
{
"analyzer":"ik_smart",
"text":"我爱你中国"
}
ik_smart:会做最粗粒度的拆分,
ElasticSearch返回:
{
"tokens" : [
{
"token" : "我爱你",
"start_offset" : 0,
"end_offset" : 3,
"type" : "CN_WORD",
"position" : 0
},
{
"token" : "中国",
"start_offset" : 3,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 1
}
]
}
ik_max_word:会将文本做最细粒度的拆分
输入
POST _analyze
{
"analyzer":"ik_max_word",
"text":"我爱你中国"
}
ik_max_word:会将文本做最细粒度的拆分
ElasticSearch返回结果
{
"tokens" : [
{
"token" : "我爱你",
"start_offset" : 0,
"end_offset" : 3,
"type" : "CN_WORD",
"position" : 0
},
{
"token" : "爱你",
"start_offset" : 1,
"end_offset" : 3,
"type" : "CN_WORD",
"position" : 1
},
{
"token" : "中国",
"start_offset" : 3,
"end_offset" : 5,
"type" : "CN_WORD",
"position" : 2
}
]
}