文末有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

ElasticSearch安装ik分词器_使用_自定义词典_Elasticsearch

ElasticSearch安装ik分词器_使用_自定义词典_Elasticsearch_02

 

自定义词典

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