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

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

3.得到容器id
docker ps -a

4.访问
http://云服务ip:9200/或本机ip

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
最好两个都重启

测试http://192.168.153.100:9100/

{

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


_analyze?pretty=true

9.复制
docker cp 571e0462e640:/usr/src/app/_site/vendor.js /usr/local/

修改

vi /usr/local/vendor.js

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

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

复制回去
docker cp /usr/local/vendor.js 571e0462e640:/usr/src/app/_site

#重启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下载,如果不认识这个命令

yum install 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

上面下载有问题:wget也搞不下来的话,我就从本地上传到/soft中。复制到容器中:

docker cp /soft/elasticsearch-analysis-ik-7.7.0.zip 848d04bf3db9:/usr/share/elasticsearch/plugins/IK

848d04bf3db9是elasticsearch的id(这是另一次测试)

docker exec -it 848d04bf3db9 /bin/bash


创建文件夹IK,

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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤永红

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值