Elasticsearch 是一款广泛应用于全文搜索、数据分析以及实时日志处理等场景的分布式搜索和分析引擎。而 Docker 则是一款流行的容器化技术,能够方便地创建、部署、运行和管理应用程序。本文将介绍如何在 Docker 容器中安装 Elasticsearch。
准备工作
在开始安装 Elasticsearch 前,需要做一些准备工作:
- 安装 Docker:在官网上下载 Docker 并安装,具体步骤不再赘述。
- 确定 Elasticsearch 版本:选择合适的 Elasticsearch 版本进行安装,建议选择最新版本。
安装 Elasticsearch
以下是在 Docker 容器中安装 Elasticsearch 的详细步骤:
在终端命令行中输入以下命令拉取 Elasticsearch 镜像:
docker pull elasticsearch:版本号
其中,版本号是指要拉取的 Elasticsearch 版本号,例如 7.14.1。
创建一个名为 elasticsearch 的 Docker 容器:
docker run -d --name elasticsearch -p 9200:9200 elasticsearch:版本号
其中,-d 标志表示在后台运行容器,--name 标志用于指定容器名称,-p 标志用于将容器的端口映射到主机端口,9200 是 Elasticsearch 默认端口。
检查 Elasticsearch 是否正常运行:
curl http://localhost:9200
如果 Elasticsearch 成功运行,将返回以下信息:
-- -------------------- ---- ------- - ------ - ------- -------------- - ----------------- -------------- - --------------- --------- - - -------- - ------ -------------- - ------ ------------ - --------- ------------ - ------------- ------------ - ------------------------------ ---------------- - ------ ---------------- - ----------------- ------------------------------------ - ------------------------------------- ------------------------------------- - ------------------------------------- -- --------- - ---- ----- --- ------- -
至此,Elasticsearch 在 Docker 容器中的安装已经完成。
实例演示
下面是一个简单的示例,演示如何使用 Elasticsearch 从一个包含电影信息的 JSON 文件中搜索数据。
首先,创建一个名为 movies.json 的文件,包含以下 JSON 数据:
-- -------------------- ---- ------- - - ----- -- -------- ---- --------- ------------ ----------- ------ ---------- ------- ---- -- - ----- -- -------- ---- ----------- ----------- -------- ---- --------- ------- ---- -- - ----- -- -------- ---- ---------- ---- ---- ----------- -------- ---- --------- ------- ---- -- - ----- -- -------- ---- ---- -------- ----------- ------------ ------- ------- ---- -- - ----- -- -------- --- ----- ----- ----------- ------- ------- ------- ---- -- - ----- -- -------- ------------ ------ ----------- ------- ----------- ------- ---- - -
然后,在 Docker 中启动 Elasticsearch:
docker run -d --name elasticsearch -p 9200:9200 elasticsearch:版本号
接着,使用 curl 工具将数据导入到 Elasticsearch 中:
curl -H "Content-Type: application/json" -XPOST "localhost:9200/movies/_bulk?pretty" --data-binary "@movies.json"
此时 Elasticsearch 已经成功导入电影数据。
最后,使用以下命令从 Elasticsearch 中搜索电影数据:
curl -X GET "localhost:9200/movies/_search?q=director:Coppola&sort=year:desc&pretty"
将返回按照年份降序排列的所有导演为 Coppola 的电影数据。
总结
本文详细介绍了如何在 Docker 容器中安装 Elasticsearch,并演示了如何使用 Elasticsearch 搜索数据。希望本文能够对前端开发者理解和应用 Elasticsearch 有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6517ce5495b1f8cacdff4edb