-
下载 elasticsearch-analysis-ik 安装包
下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases
-
安装 IK 分词器
-
自动安装
cd /opt/cloudera/parcels/ELASTICSEARCH/bin ./elasticsearch-plugin install -y https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.1/elasticsearch-analysis-ik-7.0.1.zip
-
手动安装
cd /opt/cloudera/parcels/ELASTICSEARCH/plugins wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.0.1/elasticsearch-analysis-ik-7.0.1.zip # 等待下载完成 mkdir analysis-ik unzip -d analysis-ik/ elasticsearch-analysis-ik-7.0.1.zip mv analysis-ik/config/ analysis-ik/analysis-ik mv analysis-ik/analysis-ik/ ../config/ rm -rf elasticsearch-analysis-ik-7.0.1.zi
-
-
ik_max_word 和 ik_smart 两种分词模式
-
ik_max_word 将文本做最细粒度的拆分。
例如: ik_max_word 会将 "中华人民共和国人民大会堂" 拆分为 "中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂"等词语。
{"text":"中华人民共和国人民大会堂","analyzer":"ik_max_word"}
-
ik_smart 会做最粗粒度的拆分。
例如: ik_smart 会将"中华人民共和国人民大会堂"拆分为"中华人民共和国、人民大会堂"。
{"text":"中华人民共和国人民大会堂","analyzer":"ik_smart"}
-
-
配置自定义词库
-
新建自定义词库文件
在
${ELASTICSEARCH_HOME}/config/analysis-ik
目录下新建custom/mydict.dic
文件(注意文件格式为 utf-8,不要选择utf-8 BOM),可以在 my.dic 文件 中自定义词汇。 -
修改配置文件 IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典,多个扩展词典以分号分隔 --> <entry key="ext_dict">custom/mydict.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords"></entry> <!--用户可以在这里配置远程扩展字典 --> <!-- <entry key="remote_ext_dict">words_location</entry> --> <!--用户可以在这里配置远程扩展停止词字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
-
重启 ES 服务后测试分词效果
{"text": "葡萄美酒夜光杯,欲饮琵琶马上催。醉卧沙场君莫笑,古来征战几人回?","analyzer": "ik_smart"}
自定义词库加入
葡萄美酒夜光杯
前:
自定义词库加入葡萄美酒夜光杯
后:
-
-
配置热更新 IK 分词
-
安装http服务, 创建远程扩展字典
-
修改配置文件 IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典,多个扩展词典以分号分隔 --> <entry key="ext_dict">custom/mydict.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords"></entry> <!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">http://192.168.1.101/analysis-ik/mydict.dic</entry> <!--用户可以在这里配置远程扩展停止词字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
-
重启 ES 服务后测试远程分词效果
[root@node01 analysis-ik]# cat mydict.dic 欲饮琵琶马上催 醉卧沙场君莫笑 古来征战几人回
-
网友评论