elastic search全文检索引擎,如何安装 analysis-ik 插件?
发布于 作者:苏南大叔 来源:程序如此灵动~在elastic search
的数据里面,每个字段可以运用不同的分词算法,其中一个分词算法是ik_max_word
。这个算法存在于analysis-ik
插件中。本文主要说明:如何利用elasticsearch-plugin
命令安装analysis-ik
插件,以获得ik_max_word
分词器。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里记录苏南大叔和计算机代码的故事。本文记录elastic search
安装ik_max_word
插件。测试环境:win10
,elasticsearch@8.1.2
,analysis-ik@8.1.2
。
本文说的是安装elastic search
的插件,而不是安装elastic search
本身。如果您想查找的是安装elastic search
本身,请参考下面的链接:
报错截图
如果没有安装analysis-ik
的话,在运行代码的时候,可能会看到如下错误信息:
elasticsearch.BadRequestError: BadRequestError(400, 'mapper_parsing_exception', 'Failed to parse mapping: analyzer [ik_max_word] has not been configured in mappings')
截图如下:
下载地址
注意:这里的【analysis-ik】的版本号要和【elasticsearch】的版本号保持一致!否则报错!
ik_max_word
这款分词器的github
地址是:
在上述页面中,需要确定【合适的】压缩包的下载地址。比如:
插件安装过程
定位到bin/elasticsearch-plugin
程序,然后执行其install
命令。比如:
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.1.2/elasticsearch-analysis-ik-8.1.2.zip
期间会询问你是否真的要安装对应插件,请回答y
。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
安装过程中,会提示java
权限问题,暂时可忽略。
安装完成后,除了在plugins/analysis-ik/
下生成文件外,在config/analysis-ik/
下也有生成字典文件。
安装方式二
在官方源码的readme.md
文件里面,提到了还可以直接解压release
压缩包到plugins
目录的方式。大家也可以试试。
- https://github.com/medcl/elasticsearch-analysis-ik/blob/master/README.md
- https://github.com/medcl/elasticsearch-analysis-ik/releases
版本号匹配
大家也注意到了,苏南大叔的测试环境中,elasticsearch
最新版是8.1.3
,而analysis-ik
的最新版是8.1.2
,版本不匹配,所以会安装失败。
Exception in thread "main" java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 8.1.2 but version 8.1.3 is running
在选择分词器版本号的时候,必须匹配elasticsearch
的版本号,否则会报错。这个配置信息存在于下面这个文件:
plugins/analysis-ik/plugin-descriptor.properties
配置信息是:
elasticsearch.version=8.1.2
虽然可以通过直接解压,并修改plugin-descriptor.properties
文件的办法,强制安装插件。但是在最终使用的时候,还是会报错。所以,最好的办法就是先暂时先回归elasticsearch@8.1.2
版本。
参考文献
综述
本以为是件很简单的事情,结果却问题百出... 更多elastic
内容,请点击:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。