elasticsearch安装插件analysis-ik分词器(深度研究docker内elasticsearch安装插件的位置)

最近在学习使用elasticsearch,但是在安装插件ik的时候遇到许多问题。

所以在这里开始对elasticsearch做一个深度的研究。

首先提供如下链接:

https://github.com/infinilabs/analysis-ik/releases

我们下载elasticsearch-7-17-2的Linux x86_64版本

链接:

https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-2

打开文件:

然后我们在docker中安装elasticsearch-7-17-2并进入容器:

python 复制代码
docker pull elasticsearch:7.17.2
python 复制代码
docker run -d \
  --name es \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -e "discovery.type=single-node" \
  --privileged \
  --network hm-net \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.17.2
python 复制代码
docker exec -it es bash

可以看到

python 复制代码
root@06118690fede:/usr/share/elasticsearch# ll
total 644
drwxrwxr-x.  1 root          root     58 Feb  6 21:01 ./
drwxr-xr-x.  1 root          root     27 Mar 28  2022 ../
-rw-r--r--.  1 root          root    220 Mar 28  2022 .bash_logout
-rw-r--r--.  1 root          root   3771 Mar 28  2022 .bashrc
drwxrwxr-x.  3 elasticsearch root     17 Feb  6 21:01 .cache/
-rw-r--r--.  1 root          root    807 Mar 28  2022 .profile
-r--r--r--.  1 root          root   3860 Mar 28  2022 LICENSE.txt
-r--r--r--.  1 root          root 627787 Mar 28  2022 NOTICE.txt
-r--r--r--.  1 root          root   2710 Mar 28  2022 README.asciidoc
drwxrwxr-x.  1 elasticsearch root      6 Mar 28  2022 bin/
drwxrwxr-x.  1 elasticsearch root     36 Feb  6 21:01 config/
drwxrwxr-x.  1 elasticsearch root     19 Feb  6 21:01 data/
dr-xr-xr-x.  1 root          root     17 Mar 28  2022 jdk/
dr-xr-xr-x.  3 root          root   4096 Mar 28  2022 lib/
drwxrwxr-x.  1 elasticsearch root     37 Feb  6 21:01 logs/
dr-xr-xr-x. 61 root          root   4096 Mar 28  2022 modules/
drwxrwxr-x.  1 elasticsearch root      6 Mar 28  2022 plugins/
root@06118690fede:/usr/share/elasticsearch# ll config/
total 56
drwxrwxr-x. 1 elasticsearch root    36 Feb  6 21:01 ./
drwxrwxr-x. 1 root          root    58 Feb  6 21:01 ../
-rw-rw-r--. 1 root          root  1042 Mar 28  2022 elasticsearch-plugins.example.yml
-rw-rw----. 1 elasticsearch root   199 Feb  6 21:01 elasticsearch.keystore
-rw-rw-r--. 1 root          root    53 Mar 28  2022 elasticsearch.yml
-rw-rw-r--. 1 root          root  3257 Mar 28  2022 jvm.options
drwxrwxr-x. 1 elasticsearch root     6 Mar 28  2022 jvm.options.d/
-rw-rw-r--. 1 root          root 19304 Mar 28  2022 log4j2.file.properties
-rw-rw-r--. 1 root          root 10643 Mar 28  2022 log4j2.properties
-rw-rw-r--. 1 root          root   473 Mar 28  2022 role_mapping.yml
-rw-rw-r--. 1 root          root   197 Mar 28  2022 roles.yml
-rw-rw-r--. 1 root          root     0 Mar 28  2022 users
-rw-rw-r--. 1 root          root     0 Mar 28  2022 users_roles
root@06118690fede:/usr/share/elasticsearch# ll plugins/
total 0
drwxrwxr-x. 1 elasticsearch root  6 Mar 28  2022 ./
drwxrwxr-x. 1 root          root 58 Feb  6 21:01 ../

与我们在windows上打开的,可以看到,基本上内容是一样的。

随后我们安装插件ik:

python 复制代码
# 在容器内
bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.2
# 这里的链接的来源是:https://github.com/infinilabs/analysis-ik/releases

随后,我们再来查看文件系统:

python 复制代码
root@06118690fede:/usr/share/elasticsearch# ll
total 644
drwxrwxr-x.  1 root          root     73 Feb  6 21:01 ./
drwxr-xr-x.  1 root          root     27 Mar 28  2022 ../
-rw-r--r--.  1 root          root    220 Mar 28  2022 .bash_logout
-rw-r--r--.  1 root          root   3771 Mar 28  2022 .bashrc
drwxrwxr-x.  3 elasticsearch root     17 Feb  6 21:01 .cache/
-rw-r--r--.  1 root          root    807 Mar 28  2022 .profile
-r--r--r--.  1 root          root   3860 Mar 28  2022 LICENSE.txt
-r--r--r--.  1 root          root 627787 Mar 28  2022 NOTICE.txt
-r--r--r--.  1 root          root   2710 Mar 28  2022 README.asciidoc
drwxrwxr-x.  1 elasticsearch root      6 Mar 28  2022 bin/
drwxrwxr-x.  1 elasticsearch root     55 Feb  6 21:10 config/
drwxrwxr-x.  1 elasticsearch root     19 Feb  6 21:01 data/
dr-xr-xr-x.  1 root          root     17 Mar 28  2022 jdk/
dr-xr-xr-x.  3 root          root   4096 Mar 28  2022 lib/
drwxrwxr-x.  1 elasticsearch root     37 Feb  6 21:01 logs/
dr-xr-xr-x. 61 root          root   4096 Mar 28  2022 modules/
drwxrwxr-x.  1 elasticsearch root     25 Feb  6 21:10 plugins/
root@06118690fede:/usr/share/elasticsearch# ll config/
total 60
drwxrwxr-x. 1 elasticsearch root    55 Feb  6 21:10 ./
drwxrwxr-x. 1 root          root    73 Feb  6 21:01 ../
drwxr-x---. 2 elasticsearch root  4096 Feb  6 21:10 analysis-ik/
-rw-rw-r--. 1 root          root  1042 Mar 28  2022 elasticsearch-plugins.example.yml
-rw-rw----. 1 elasticsearch root   199 Feb  6 21:01 elasticsearch.keystore
-rw-rw-r--. 1 root          root    53 Mar 28  2022 elasticsearch.yml
-rw-rw-r--. 1 root          root  3257 Mar 28  2022 jvm.options
drwxrwxr-x. 1 elasticsearch root     6 Mar 28  2022 jvm.options.d/
-rw-rw-r--. 1 root          root 19304 Mar 28  2022 log4j2.file.properties
-rw-rw-r--. 1 root          root 10643 Mar 28  2022 log4j2.properties
-rw-rw-r--. 1 root          root   473 Mar 28  2022 role_mapping.yml
-rw-rw-r--. 1 root          root   197 Mar 28  2022 roles.yml
-rw-rw-r--. 1 root          root     0 Mar 28  2022 users
-rw-rw-r--. 1 root          root     0 Mar 28  2022 users_roles
root@06118690fede:/usr/share/elasticsearch# ll plugins/
total 0
drwxrwxr-x. 1 elasticsearch root  25 Feb  6 21:10 ./
drwxrwxr-x. 1 root          root  73 Feb  6 21:01 ../
drwxr-xr-x. 2 root          root 230 Feb  6 21:10 analysis-ik/
root@06118690fede:/usr/share/elasticsearch# ll config/analysis-ik/
total 8264
drwxr-x---. 2 elasticsearch root    4096 Feb  6 21:10 ./
drwxrwxr-x. 1 elasticsearch root      55 Feb  6 21:10 ../
-rw-rw----. 1 elasticsearch root     625 Feb  6 21:10 IKAnalyzer.cfg.xml
-rw-rw----. 1 elasticsearch root 5225922 Feb  6 21:10 extra_main.dic
-rw-rw----. 1 elasticsearch root   63188 Feb  6 21:10 extra_single_word.dic
-rw-rw----. 1 elasticsearch root   63188 Feb  6 21:10 extra_single_word_full.dic
-rw-rw----. 1 elasticsearch root   10855 Feb  6 21:10 extra_single_word_low_freq.dic
-rw-rw----. 1 elasticsearch root     156 Feb  6 21:10 extra_stopword.dic
-rw-rw----. 1 elasticsearch root 3058510 Feb  6 21:10 main.dic
-rw-rw----. 1 elasticsearch root     123 Feb  6 21:10 preposition.dic
-rw-rw----. 1 elasticsearch root    1824 Feb  6 21:10 quantifier.dic
-rw-rw----. 1 elasticsearch root     164 Feb  6 21:10 stopword.dic
-rw-rw----. 1 elasticsearch root     192 Feb  6 21:10 suffix.dic
-rw-rw----. 1 elasticsearch root     752 Feb  6 21:10 surname.dic
root@06118690fede:/usr/share/elasticsearch# ll plugins/analysis-ik/
total 1428
drwxr-xr-x. 2 root          root    230 Feb  6 21:10 ./
drwxrwxr-x. 1 elasticsearch root     25 Feb  6 21:10 ../
-rw-r--r--. 1 root          root 263965 Feb  6 21:10 commons-codec-1.9.jar
-rw-r--r--. 1 root          root  61829 Feb  6 21:10 commons-logging-1.2.jar
-rw-r--r--. 1 root          root  54953 Feb  6 21:10 elasticsearch-analysis-ik-7.17.2.jar
-rw-r--r--. 1 root          root 736658 Feb  6 21:10 httpclient-4.5.2.jar
-rw-r--r--. 1 root          root 326724 Feb  6 21:10 httpcore-4.4.4.jar
-rw-r--r--. 1 root          root   1807 Feb  6 21:10 plugin-descriptor.properties
-rw-r--r--. 1 root          root    125 Feb  6 21:10 plugin-security.policy
root@06118690fede:/usr/share/elasticsearch#

我们在config/analysis-ik/中找到了IKAnalyzer.cfg.xml文件。

闹麻了,TMD配置是在这个位置。

然后在这个IKAnalyzer.cfg.xml文件中自定义自己的分词器。

相关推荐
l1t2 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
枕书3 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
IT19957 小时前
Docker笔记-对docker-compose.yml基本认识
笔记·docker·容器
supersolon9 小时前
WSL2(Linux)升级docker
linux·运维·docker·wsl·升级
一殊酒9 小时前
【Docker】常用命令大全及解析
docker·容器·eureka
Uncertainty!!10 小时前
将docker镜像上传到github镜像存储仓库(GitHub 容器仓库(GHCR)使用流程)
docker·容器·github
我是谁??10 小时前
Rocky9+ Docker + 容器内Linux桌面环境 + Web远程
运维·docker·容器
姓王名礼11 小时前
这是一个完整的全栈交付包,包含Vue3 前端交互界面(集成数字人视频流、ECharts 图表、语音对话)和Docker Compose 一键部署脚本。
前端·docker·echarts
eggwyw11 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
赵文宇(温玉)12 小时前
Openclaw-In-Docker新版本发布,更轻、更快、更健壮,1600+次下载,30+Github关注
docker·容器·github·小龙虾·clawclaw