一、IK分词器安装
1、下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases ,选择和elasticsearch对应的版本elasticsearch-analysis-ik-5.4.0.zip,下载并解压。
2、在 elasticsearch-5.4.0/plugins/ 目录下新建名为 ik 的文件夹,拷贝elasticsearch-analysis-ik-5.4.0目录下所有的文件到 elasticsearch-5.4.0/plugins/ik/ 目录下,然后重启elasticsearch服务。
3、启动没有报错,并且看到日志信息提示加载了插件 analysis-ik 表示安装成功。
二、扩展本地词库
1、测试 analysis-ik 分词:
http://localhost:9200/_analyze?analyzer=ik_smart&text=洪荒之力
结果:
{
"tokens": [
{
"token": "洪荒",
"start_offset": 0,
"end_offset": 2,
"type": "CN_WORD",
"position": 0
},
{
"token": "之力",
"start_offset": 2,
"end_offset": 4,
"type": "CN_WORD",
"position": 1
}
]
}
我们可以看到默认的分词器把“洪荒之力”分成了两个词,如果我们要让分词器把“洪荒之力”分成一个词,我们可以设置本地字典。
2、在 elasticsearch-analysis-ik-5.4.0/config/custom/ 目录下新建文件 hotwords.dic(确保文件的编码方式为UTF-8,不然不生效), 在文件中添加词语“洪荒之力”,每行一个词,然后在ik分词器的配置文件(elasticsearch-analysis-ik-5.4.0/config/IKAnalyzer.cfg.xml)中指定新增的词库位置。然后重启elasticsearch服务器生效词库。
再测试:
http://localhost:9200/_analyze?analyzer=ik_smart&text=洪荒之力
结果:
{
"tokens": [
{
"token": "洪荒之力",
"start_offset": 0,
"end_offset": 4,
"type": "CN_WORD",
"position": 0
}
]
}