返回

加“IK分词器”的“ES单节点”在“Docker”上部署并设置密码

后端

前言

Elasticsearch 作为一款分布式搜索引擎,具备高可用、可扩展以及易于使用的特点,广泛应用于网站搜索、日志分析、数据分析等场景。在本文中,我们将带领读者学习如何在 Docker 容器中部署一个单节点的 Elasticsearch 集群,并设置密码,方便用户管理。此外,为了提高中文分词的准确性和灵活性,我们还将添加流行的分词器 —  IK 分词器。

部署

1. 安装 Docker

首先,我们需要确保已在我们的系统上安装了 Docker。有关 Docker 安装指南,请参考官方文档或您使用的 Linux 发行版的相关文档。

2. 获取镜像

可以通过以下命令从 Docker Hub 拉取最新的 Elasticsearch 镜像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:latest

3. 运行容器

要启动 Elasticsearch 容器,我们可以使用以下命令:

docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:latest

其中,

  • -d 表示在后台运行容器。
  • --name es 为容器指定一个名称。
  • -p 9200:9200-p 9300:9300 将容器中的端口 9200 和 9300 映射到主机的相应端口,以便我们可以通过这些端口访问 Elasticsearch。
  • -e "discovery.type=single-node" 指定使用单节点发现模式,适合于只部署一个 Elasticsearch 节点的场景。

4. 设置密码

为了保护 Elasticsearch 集群,我们可以设置一个密码。可以使用以下命令来设置密码:

docker exec -it es bash -c "elasticsearch-setup-passwords interactive"

按照提示输入两次密码,即可完成密码设置。

5. 添加 IK 分词器

IK 分词器是一款流行的中文分词器,可以提高 Elasticsearch 对中文的处理能力。要添加 IK 分词器,我们可以使用以下步骤:

  1. 下载 IK 分词器的 JAR 文件,并将其放置到 /usr/share/elasticsearch/plugins 目录下。
  2. 编辑 /etc/elasticsearch/elasticsearch.yml 文件,在 plugins.search.ik 节点下添加以下配置:
plugins.search.ik.location: /usr/share/elasticsearch/plugins/ik-analyzer-7.9.3.jar
  1. 重启 Elasticsearch 容器。

总结

通过以上步骤,我们成功地部署了一个单节点的 Elasticsearch 集群,设置了密码,并添加了 IK 分词器。接下来,我们就可以使用 Elasticsearch 来构建搜索应用程序了。