ES中文分词离不开ik插件,下面介绍分别介绍ik插件的安装及分词的扩展。
IK分词器安装
IK插件安装
1.下载ik插件 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip
2.放入plugins的目录下解压
3.重新启动es即可
扩展本地词库
ik分词之所以能分词除了java解析还有与之对应的分词词典在/plugins/ik/config 下面
其中IKAnalyzer.cfg.xml为词典加载的xml,main.dic为主词典
1.1. 添加分词前
我们看到当我们输入 “尬聊”时,ik分词把尬聊 拆成了一个个单词
POST /_analyze
{
"analyzer" : "ik_smart",
"text":"尬聊"
}
执行结果如下:
1.2. 添加分词
打开IKAnalyzer.cfg.xml 加入custom/my_word.dic
在当前目录下建立custom文件夹在custom里建立my_word.dic在my_word里加入尬聊。1.3. 添加分词后
再次测试发现新加入的分词起效果了
配置远程词库
配置远程词库以http方式提供访问,这样可以使用java程序随时扩展词库方便了词库的更新。
1.1. web词典
使得词库以:http方式访问 http://ip/custom/my_word.dic ,通过java程序我们动态的扩展my_word.dic方便词典扩展。
1.2. 配置
1.3. 远程词库
下面我们看下远程词库的源码实现部分,我们看到远程启用词库加、停用词库载是每60秒,重新加载请求,非常方便,配置了远程地址请求,不需要重启es服务。
本次主要讲解了,ES的IK词库的本地扩展及远程扩展方法,怎么样在不满足分词的时候动态添加词库。
如果觉得文章能帮到您,欢迎关注微信公众号:“蓝天Java大数据” ,共同进步!