介绍
Elasticsearch 是一种基于 Lucene 的全文搜索引擎,具有开放源代码和高度可扩展性的特点。Elasticsearch 适用于大型数据集和复杂查询。本文将详细介绍在 Docker 容器中部署 Elasticsearch 的方法及注意事项。
步骤
安装 Docker
首先,确保 Docker 已经安装在您的计算机上。如果您尚未安装 Docker,请访问官方网站以获取更多信息。
在 Docker 中安装 Elasticsearch
执行以下命令以在 Docker 中安装 Elasticsearch 容器:
------ --- -- ------ ------------- ---- -- --------- -- --------- -- ---------------------------- -------------------
这将安装 Elasticsearch 7.7.1 版本,其中 -d
表示容器在后台运行,--name
将容器命名为 elasticsearch
,--rm
表示容器停止后会自动删除,-p
表示端口映射,discovery.type=single-node
表示本地运行单节点 Elasticsearch。
此命令一旦执行,Elasticsearch 将在 Docker 容器中运行,并监听本地端口 9200
和 9300
。
确认 Elasticsearch 是否安装成功
使用以下命令来确认 Elasticsearch 是否安装成功:
---- -- --- ------------------------
如果安装成功,你应该看到如下的成功响应:
- ------ - --------- -------------- - ----------------- -------------- - --------- --------- - - -------- - -------- -------------- - ---------- ------------ - --------- ------------ - ------------------------------------------- ------------ - ------------------------------ ---------------- - ------ ---------------- - -------- ------------------------------------ - -------- ------------------------------------- - ------------- -- --------- - ---- ----- --- ------- -
连接 Elasticsearch
使用 Elasticsearch 的 Restful API,可以通过 curl 命令轻松连接 Elasticsearch。
如下是一个简单的示例。我们将创建一个名为 myindex
的索引,并添加一个名为 mydoc
的文档:
---- -- --- ------------------------------- -- -------------- ----------------- --- - ------------ -------------- --------- ------------- -- --------------- ------------- - - - --
对于文档:
---- -- --- ------------------------------------------ -- -------------- ----------------- --- - ----------- --------- ------------------- -- -- ----- --------- --
确认文档的存储是否成功,可以使用以下命令:
---- -- --- ------------------------------------------
注意事项
- Elasticsearch 的默认配置在生产环境下通常不是最佳选择。生产环境下需要将 Elasticsearch 部署到集群中进行扩展并修改它的配置。
- 将 Elasticsearch 部署在 Docker 容器中并不是最好的解决方案,最好的方案还是部署在真实的服务器环境中。
结论
在本文中,我们介绍了如何在 Docker 容器中部署 Elasticsearch,并提供了一些基本的 Restful API 调用示例。希望这对于使用 Elasticsearch 的开发人员来说,能够有所帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66fb776244713626015d4941