在Docker中使用ElasticSearch搜索引擎
随着web应用越来越复杂,搜索功能也成为了web应用不可缺少的一部分。而ElasticSearch作为目前市面上最流行的搜索引擎,被越来越多的开发者所使用。本文将为大家介绍如何使用Docker在本地环境中搭建ElasticSearch,并且实现一些基本的搜索功能。
- 安装Docker
首先我们需要在本地环境中安装Docker。Docker是一种轻量级的容器技术,能够快速创建、部署和运行应用程序。具体安装步骤可以参考Docker官网,这里不再赘述。
- 在Docker中安装ElasticSearch
要在Docker中安装ElasticSearch,我们可以使用官方的ElasticSearch Docker镜像。打开终端,输入以下命令即可下载和启动ElasticSearch容器:
------ --- -- ------ ------------- -- --------- -- --------- --------------------
其中,-d
表示后台运行,--name
指定容器名称,-p
表示端口映射,elasticsearch:7.14.0
表示使用的ElasticSearch镜像版本。
如果下载速度太慢,可以尝试使用加速器,比如Linux环境下的:
------ ------------------------------------------------ --- -- ------ ------------- -- --------- -- --------- --------------------
- 使用Kibana管理ElasticSearch
在安装好ElasticSearch之后,我们可以使用Kibana来管理ElasticSearch,也可以通过Kibana来进行基本的搜索功能实现。
Kibana是一个开源的数据可视化和分析平台,能够实现复杂数据的搜索、分析和可视化。我们可以使用Docker来快速安装和启动Kibana:
------ --- -- ------ ------ ------ --------------------------- -- --------- -------------
其中,--link
表示将Kibana容器和ElasticSearch容器链接起来,使得Kibana能够访问ElasticSearch中的数据。
启动完成后,我们可以在浏览器中输入http://localhost:5601
访问Kibana控制面板。
- 实现基本的搜索功能
现在我们已经成功地在Docker中安装好了ElasticSearch和Kibana,接下来我们来实现一些基本的搜索功能。
4.1 创建索引
在ElasticSearch中,我们需要先创建一些索引来存储数据。打开Kibana控制面板,在导航栏中找到“Dev Tools”点击进入,然后在输入框中输入以下代码:
--- --------- - ----------- - ------------------- -- --------------------- - - -
其中,PUT /my_index
表示创建一个名为“my_index”的索引,"number_of_shards": 1
表示将数据分成一个分片,"number_of_replicas": 0
表示不进行任何复制。
4.2 添加数据
在Kibana的“Dev Tools”面板中,输入以下代码添加一些测试数据:
---- ---------------- - ------- ----- ------- -------- ------------------------- ------ --- ---------- ------- ------- - ---- ---------------- - ------- ----- --------- -------- --------------------------- ------ --- ---------- ------- ------- - ---- ---------------- - ------- ------ ----- -------- ------------------------ ------ --- ---------- ------- -
4.3 搜索数据
我们可以使用ElasticSearch的API来实现搜索功能。在Kibana的“Dev Tools”面板中,输入以下代码可以搜索年龄大于30岁的数据:
--- ----------------- - -------- - -------- - ------ - ----- -- - - - -
返回结果:
- ------- -- ------------ ------ ---------- - -------- -- ------------- -- ---------- -- --------- - -- ------- - -------- - -------- -- ----------- ---- -- ------------ ---- ------- - - --------- ----------- -------- ------- ------ ---- --------- ---- ---------- - ------- ----- ------- -------- ------------------------- ------ --- ---------- ------- ------- - -- - --------- ----------- -------- ------- ------ ---- --------- ---- ---------- - ------- ------ ----- -------- ------------------------ ------ --- ---------- ------- - - - - -
以上代码表示从“my_index”索引中搜索年龄大于30岁的数据,返回结果显示有两条数据满足条件。
- 总结
本文介绍了如何使用Docker在本地环境中搭建ElasticSearch,并且通过Kibana实现了基本的搜索功能。当然,ElasticSearch还有很多高级的功能,比如全文搜索、聚合分析等等,这些内容将在以后的文章中继续介绍。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/645f13ce968c7c53b012df64