ik分词器安装
IK分词器安装
1、环境准备
Elasticsearch 要使用 ik,就要先构建 ik 的 jar包,这里要用到 maven 包管理工具,而 maven 需要java 环境,而 Elasticsearch 内置了jdk, 所以可以将JAVA_HOME设置为Elasticsearch 内置的jdk
1)设置JAVA_HOME
1 |
|
2)下载maven安装包
1 |
|
3)解压maven安装包
1 |
|
4)设置软连接
1 |
|
5)设置path
打开文件
1 |
|
将下面的内容复制到文件,保存
1 |
|
设置好Maven的路径之后,需要运行下面的命令使其生效
1 |
|
6)验证maven是否安装成功
1 |
|
2、安装IK分词器
1)下载IK
1 |
|
执行如下图:
2)解压IK
由于这里是zip包不是gz包,所以我们需要使用unzip命令进行解压,如果本机环境没有安装unzip,请执行:
1 |
|
解压IK
1 |
|
3)编译jar包
1 |
|
4) jar包移动
package执行完毕后会在当前目录下生成target/releases目录,将其中的elasticsearch-analysis-ik-7.4.0.zip。拷贝到elasticsearch目录下的新建的目录plugins/analysis-ik,并解压
1 |
|
5)拷贝辞典
将elasticsearch-analysis-ik-7.4.0目录下的config目录中的所有文件 拷贝到elasticsearch的config目录
1 |
|
记得一定要重启Elasticsearch!!!
3、使用IK分词器
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“乒乓球明年总冠军”拆分为“乒乓球、乒乓、球、明年、总冠军、冠军。
1 |
|
ik_max_word分词器执行如下:
1 |
|
2、ik_smart
会做最粗粒度的拆分,比如会将“乒乓球明年总冠军”拆分为乒乓球、明年、总冠军。
1 |
|
ik_smart分词器执行如下:
1 |
|
由此可见 使用ik_smart可以将文本”text”: “乒乓球明年总冠军”分成了【乒乓球】【明年】【总冠军】
这样看的话,这样的分词效果达到了我们的要求。