Elasticsearch学习四部曲之二:快速进行环境搭建

Elasticsearch学习四部曲之二:快速进行环境搭建

docker安装elasticsearch

小经验

关于为什么要安装7.6.2这个版本?

是因为后续整合springboot的版本是2.3.1.RELEASE, 该版本依赖的es版本是7.6.2, 所以保持一致

拉取镜像

docker pull elasticsearch:7.6.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.6.2

关于启动的部分参数解释

ES_JAVA_OPTS="-Xms512m -Xmx512m" 大多数小伙伴应该都是在虚拟机上安装这些服务, 可能虚拟机的内存给的不是很大, 而ES启动默认需要2G内存, 所以将默认内存改小了

"discovery.type=single-node"学习阶段没必要搭建集群, 设置为单节点, 跳过一些检查

安装检查

浏览器输入http://localhost:9200/ 出现下图表示安装完成

在这里插入图片描述

docker安装elasticsearch-head

拉取镜像

docker pull mobz/elasticsearch-head:5

启动镜像

docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

安装检查

浏览器输入http://localhost:9100/ 出现下图表示安装完成

注意: 此时由于跨域问题还连接不上elasticsearch

在这里插入图片描述

配置elasticsearch-head与elasticsearch的连接

进入容器

docker exec -it elasticsearch /bin/bash

修改配置

vi config/elasticsearch.yml

配置最下边添加这两行(允许跨域访问)

http.cors.enabled: true 
http.cors.allow-origin: "*"

保存后退出容器

exit

重启容器

docker restart elasticsearch

浏览器再次输入http://localhost:9100/ , 在连接按钮前的地址栏输入http://localhost:9200, 点击连接后, 出现下图表示连接配置完成

在这里插入图片描述

解决elasticsearch-head操作时, 请求406异常

将elasticsearch-head中文件拷贝到本地

docker cp elasticsearch-head:/usr/src/app/_site/vendor.js /usr/local/

修改vendor.js

vim /usr/local/vendor.js

共计两处, 分别在6886行和7573行, 这两处contentType的值改为 application/json;charset=UTF-8

在这里插入图片描述

在这里插入图片描述

从本地copy到容器内

docker cp /usr/local/vendor.js elasticsearch-head:/usr/src/app/_site

重启容器

docker restart elasticsearch-head

尝试head中创建索引, 出现改弹窗表示成功

在这里插入图片描述

elasticsearch安装id分词器插件

方式一:在线安装

进入容器

docker exec -it elasticsearch /bin/bash

在线下载并安装

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

当上述操作连接超时将github.com改为github.com.cnpmjs.org再试一次

退出容器并重启

exit
docker restart elasticsearch
方式二:离线安装
下载离线包

下载elasticsearch-analysis-ik-7.6.2,我是通过加速访问下载的,不保证安全性

原访问地址:

https://github.com/medcl/elasticsearch-analysis-ik/releases

加速访问地址:

https://github.com.cnpmjs.org/medcl/elasticsearch-analysis-ik/releases

建议先使用原访问地址,原访问地址无法下载时,再采用加速的

上传离线包至服务器

该处自行上传,因为我用的Docker Desktop,直接就在本地

开始安装

进入容器

docker exec -it elasticsearch /bin/bash

创建文件夹

mkdir /usr/share/elasticsearch/plugins/ik

退出容器,并将本地的包复制到容器内

docker cp /usr/local/elasticsearch-analysis-ik-7.6.2.zip elasticsearch:/usr/share/elasticsearch/plugins/ik

再次进入容器

docker exec -it elasticsearch /bin/bash

解压上传的文件包

unzip elasticsearch-analysis-ik-7.6.2.zip

删除原文件包

rm -rf elasticsearch-analysis-ik-7.6.2.zip

退出容器,并重启

exit
docker restart elasticsearch

安装完后验证

在这里插入图片描述

IK分词器自定义分词

进入容器

docker exec -it elasticsearch /bin/bash

进入ik配置

cd /usr/share/elasticsearch/plugins/ik/config

修改IKAnalyzer.cfg.xml

vi IKAnalyzer.cfg.xml

IKAnalyzer.cfg.xml内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <comment>IK Analyzer 扩展配置</comment>
    <!--用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">ext.dic</entry>
     <!--用户可以在这里配置自己的扩展停止词字典-->
    <entry key="ext_stopwords"></entry>
    <!--用户可以在这里配置远程扩展字典 -->
    <!-- <entry key="remote_ext_dict">words_location</entry> -->
    <!--用户可以在这里配置远程扩展停止词字典-->
    <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

在config目录下新建ext.dic文件

vi ext.dic

例如: 添加字符串"我草"

退出容器并重启

exit
docker restart elasticsearch

验证分词结果

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值