文末有pinyin分词器
安装ik分词器:
ES提供了一个脚本elasticsearch-plugin(windows下为elasticsearch-plugin.bat)来安装插件,脚本位于ES安装目录的bin目录下。elasticsearch-plugin脚本可以有三种命令,靠参数区分:
1、 elasticsearch-plugin install 插件地址
install 参数指定的命令是安装指定的插件到当前ES节点中。
2、 elasticsearch-plugin list
list参数指定的命令是显示当前ES节点已经安装的插件列表。
3、 elasticsearch-plugin remove 插件名称
remove 参数指定的命令是删除已安装的插件。
ik分词器下载地址: https://github.com/medcl/elasticsearch-analysis-ik
远程在线安装:(安装对应版本)
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip
Linux无法连接外网,下载本地安装:
下载elasticsearch-analysis-ik-6.6.2.zip,执行下面命令:(注意下面的内容很重要)
elasticsearch-plugin install file:///home/hadoop/elasticsearch-analysis-ik-6.6.2.zip
使用
ik分词器提供俩种分词方式ik_max_word和ik_smart:
_analyze
{ "analyzer": "ik_max_word", "text": "世界如此之大" }
{ "analyzer": "ik_smart", "text": "世界如此之大" }
下面图使用了cerebro可视化工具(cerebro安装浏览:https://blog.csdn.net/qq_40374604/article/details/97111251)
自定义词典
ik自身词典可能无法满足需求,提供了自定义词典功能,
1,新建扩展名为dic文本文件,写入要增加的词条,每词单独一行,如test.dic,
2,在ES安装目录下 /elasticsearch6.6.2/config/analysis-ik/ 下新建子目录;如: /elasticsearch6.6.2/config/analysis-ik/mydic/test.dic 。
3,修改ik配置文件IKAnalyzer.cfg.xml(位于config/analysis-ik目录下),在配置文件中加入如下条目:
<entry key="ext_dict">mydict/test.dic</entry>
4,重启ES使生效。 用(ik_max_word)方式分词就可以了。
热更新远程词典:
热更新远程词典,及修改词典后无需重启es,每分钟加载一次。修改配置
为 key="remote_ext_dict" key="remote_ext_stopwords" (参考: https://blog.csdn.net/an88411980/article/details/83747230,不是最优参考)
pinyin分词器
拼音分词器和ik分词器安装类似
手动安装:
1.在plugins文件夹中创建pinyin文件夹
mkdir pinyin
2.下载安装包:https://github.com/medcl/elasticsearch-analysis-pinyin/releases
3.解压到pinyin文件夹中(所有节点)
4.重启Elasticsearch
自动安装:
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.6.2/elasticsearch-analysis-pinyin-6.6.2.zip
rest使用方法: https://github.com/medcl/elasticsearch-analysis-pinyin/
更多相关问题ES系列问题: https://blog.csdn.net/qq_40374604/article/category/8634753