2025年腾讯云docker下安装elasticsearch及IK分词器-扩展词-停止词Kibana

腾讯云docker下安装elasticsearch及IK分词器-扩展词-停止词Kibana1 拉取 docker pull elasticsearc 7 7 0 2 运行 docker run name elasticsearc d e ES JAVA OPTS Xms512m Xmx512m e discovery type single node p 9200 9200 p 9300 9300

大家好,我是讯享网,很高兴认识大家。

1.拉取
docker pull elasticsearch:7.7.0
2.运行
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0


讯享网

5.安装ElasticSearch-Head
docker pull mobz/elasticsearch-head:5
6.创建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
7.启动 docker start 容器id
docker start 571e0462e640:
8.处理跨域
进入容器
docker exec -it elasticsearch /bin/bash
编辑文件
vi config/elasticsearch.yml
添加内容
http.cors.enabled: true 
http.cors.allow-origin: "*"
exit退出容器,接着执行
docker restart 容器ID
最好两个都重启

测试

"Content-Type":" application/ json",
"analyzer":"ik_max_word",
"text":"华瑞IT教育欢迎你"
}

修改

vi /usr/local/vendor.js

/输入你要搜索的内容,即可马上定位

"application/x-www-from-urlencodes"修改为"application/json;charset=UTF-8"

#重启docker restart 容器id
docker restart 571e0462e640
docker restart 2f1f60dbe546
 
10.安装IK分词器  (很多同学这里没弄好)不是head的容器id
docker exec -it elasticsearch容器ID /bin/bash
docker exec -it 2f1f60dbe546 /bin/bash

用wget下载,如果不认识这个命令

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip

讯享网

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip

当你使用wget安装出现Unable to establish SSL connection时执行以下俩个命令即可。我遇到了。

yum install opensslls

yum install openssl-devel

上面下载有问题

mkdir /usr/share/elasticsearch/plugins/IK

将压缩包移过去
移动
mv elasticsearch-analysis-ik-7.7.0.zip /usr/share/elasticsearch/plugins/IK
进入目录
cd  /usr/share/elasticsearch/plugins/IK
解压
unzip elasticsearch-analysis-ik-7.7.0.zip
退出容器

exit

重启容器elasticsearch容器ID

docker restart elasticsearch容器ID


11.用postman测试是否安装成功,也可以用elasticsearch head进行测试
get请求
http://云服务器ip:9200/_analyze
提交的json

{
    "analyzer":"ik_max_word",
    "text":"华瑞IT教育欢迎你"
}
看是否识别


停止词和扩展词配置
进入容器:docker exec -it 容器id /bin/bash
进入目录:cd  /usr/share/elasticsearch/plugins/IK
过入目录:cd config
查看一下文件内容:cat IKAnalyzer.cfg.xml

<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict"></entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords"></entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

配置,此时会中文乱码,执行下面的代码

讯享网cat >>~/.vimrc<<EOF set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 :set shiftwidth=2 :colorscheme desert :set ts=2 :set expandtab :%retab! EOF

vi IKAnalyzer.cfg.xml

<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict">ext.dic</entry>
         <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">stopword.dic</entry>
        <!--用户可以在这里配置远程扩展字典 -->
        <!-- <entry key="remote_ext_dict">words_location</entry> -->
        <!--用户可以在这里配置远程扩展停止词字典-->
        <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

保存并退出

:wq!

自己创建两个字典文件,输入相应内容,


停止词:注意后面的中文语气助词
vi stopword.dic

a an and are as at be but by for if in into is it no not of on or such that the their then there these they this to was will with 了 呢 的 吗


扩展词:输入下面的中文
vi ext.dic

讯享网仰天长啸 三十功名尘与土 奥利给 华瑞IT教育

保存并退出

:wq!

退出容器

exit

重启elasticsearch

docker restart elasticsearch

测试:哈哈,这里再介绍一下docker安装kibana

docker pull kibana:7.7.0

--- elasticsearch:7.7.0

启动容器

#运行kibana 注意IP一定不要写错
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://云服务器ip:9200 -p 5601:5601 -d kibana:7.7.0
#进入容器 85f61cb6b5c4
docker exec -it 容器ID /bin/sh
docker exec -it 85f61cb6b5c4 /bin/sh

#使用vi 修改文件内容
vi /usr/share/kibana/config/kibana.yml 
server.name: kibana
server.host: "0"
#elasticsearch.hosts: [ "http://elasticsearch:9200" ]
elasticsearch.hosts: [ "http://云服务器ip:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN
#设置kibana中文显示

http://自己的IP地址:5601
#查看kibana容器日志
docker logs -f 容器ID

 

小讯
上一篇 2025-03-07 08:55
下一篇 2025-02-23 18:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/45301.html