Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。项目上如果要使用Elasticsearch则需要先搭建相应的环境,用docker可以快速的搭建Elasticsearch环境。本文主要介绍如何用docker安装elasticsearch和ik分词器。
因为需要安装ik分词器,所以建议选择ik分词器对应的Elasticsearch的版本。本文我们选择v7.17.7的版本进行安装和介绍。
在Github上选择需要安装的ik分词器,下载对应的zip包。这里本文我们选择elasticsearch-analysis-ik-7.17.7.zip。
我们可以到 Dockerhub上选择对应的Elasticsearch镜像版本。本文我们选择与ik分词器对应7.17.7这个版本,
执行如下命令安装运行elasticsearch,主要docker设置了端口映射,挂载的目录以及启动的参数等。注意设置服务器目录的权限以及服务器防火墙端口的开放。
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -v /usr/local/elasticsearch7.17.7/data:/usr/share/elasticsearch/data -v /usr/local/elasticsearch7.17.7/plugins:/usr/share/elasticsearch/plugins -v /usr/local/elasticsearch7.17.7/logs:/usr/share/elasticsearch/logs --privileged --restart=always elasticsearch:7.17.7
防火墙开放服务器的elasticsearch端口。
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
将下载好的ik分词器elasticsearch-analysis-ik-7.17.7.zip解压后上传到elasticsearch挂载到宿主机的plugin目录里面。
# 1.进入elasticsearch的plugins目录
cd /user/local/elasticsearch7.17.7/plugins
# 2.创建ik目录
mkdir ik
# 3.将解压后的elasticsearch-analysis-ik-7.17.7.zip上传到ik目录中
# 4.设置ik目录的权限,这里简单粗暴直接全开权限
chmod -R 777 ik
解压elasticsearch-analysis-ik-7.17.7.zip上传ik目录后,效果如下。
验证ik分词器是否安装成功。进入容器在elasticsearch的bin目录下执行elasticsearch-plugin list命令查看ik分词器插件是否安装成功。
# 1.进入容器
docker exec -it elasticsearch /bin/bash
# 2.进入elasticsearch的bin目录
cd /usr/share/elasticsearch/bin
# 3.查看ik分词器是否安装成功
elasticsearch-plugin list
运行elasticsearch-plugin list命令后,显示ik表示安装成功,如下图所示。
到这里docker安装elasticsearch和ik分词器就介绍完了,接下来项目上就可以直接使用。主要的注意事项是ik分词器和elasticsearch版本保持一致,安装的时候主要目录权限以及防火墙端口的设置。
官网:Elasticsearch:官方分布式搜索和分析引擎 | Elastic
官网Docker安装介绍:Install Elasticsearch with Docker | Elasticsearch Guide [8.11] | Elastic
如何安装Docker介绍:CentOS安装Docker_centos 安装 docker环境_FLY-DUCK的博客-CSDN博客