操作手册
【试用教程】使用检索分析服务Elasticsearch版实现基础检索
elasticsearch
手动配置
40
教程简介
通过本教程,您将体验阿里云检索分析服务Elasticsearch版产品的基础检索功能,包括创建并访问一个检索分析服务Elasticsearch版实例,以及使用Restful API完成创建索引、插入数据、搜索数据、删除索引等操作。
阿里云检索分析服务Elasticsearch是100%兼容开源的分布式检索和分析套件,具有提供Elasticsearch、Kibana、Logstash、Beats等开源全托管的产品服务能力,能够为结构化或非结构化数据提供低成本、高性能、高可靠的检索和分析平台级服务。阿里云检索分析服务Elasticsearch具备读写分离、存算分离、弹性伸缩、智能化运维、免费的X-Pack高级商业特性等产品特性,被广泛应用于综合信息检索分析、智能运维监控、数据检索加速等场景。更多信息,请参见什么是阿里云Elasticsearch。
我能学到什么
如何创建并访问检索分析服务Elasticsearch版实例。
如何创建索引和删除索引。
如何插入数据和搜索数据。
操作难度 | 中 |
所需时间 | 40分钟 |
使用的阿里云产品 | |
所需费用 | 0元 |
准备环境及资源
10
开始教程前,请按以下步骤准备环境和资源:
访问阿里云免费试用。单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。
成功登录后,在产品类别下选择大数据计算>数据计算与分析,单击检索分析服务 Elasticsearch卡片上的立即试用。
在配置Elasticsearch实例信息面板,完成参数配置。
完成本教程需要的配置如表格所示,未提及的配置保持默认或按需修改。
配置项
教程配置
实例类型
通用商业版
Elasticsearch版本
8.9
本教程的操作和示例均以Elasticsearch 8.9版本为例,其他版本操作和示例可能略有差别,详细信息请参见Elasticsearch快速入门。
场景初始化配置
通用场景
地域和可用区
地域:华北2(北京)
数据节点规格
2核4 GiB开发者规格
数据节点存储类型
高效云盘
数据单节点存储空间
20 GB
数据节点数量
3
Kibana规格
1核2 GiB
专有网络
选择您已创建的专有网络。如果没有创建,请参见创建和管理专有网络创建。
虚拟交换机
选择您已创建的虚拟交换机。如果没有创建,请参见创建和管理交换机创建。
资源组
选择您已创建的资源组,可以选择默认资源组。如果没有创建,请参见创建资源组创建。
实例名称
test-es
登录名
elastic
登录密码
自定义密码
服务协议
选中
单击立即试用,并按照页面提示进入控制台或直接点击登录控制台。
在阿里云Elasticsearch控制台的左侧导航栏,单击Elasticsearch实例。
在顶部菜单栏,选择购买实例时所配置的地域,本教程为华北2(北京)。在实例列表中查看创建成功的实例及其状态。
实例创建后,大约需要5分钟生效。等待实例生效且状态变为正常,才可继续执行后续步骤。
访问实例
5
在Elasticsearch实例列表中,单击目标实例ID,进入实例管理页面。
在左侧导航栏,选择配置与管理 > 可视化控制。
在Kibana区域,单击修改配置,配置Kibana的公网访问白名单。
在访问配置区域,单击Kibana公网访问白名单右侧的修改。
在修改白名单面板,单击default分组右侧的配置。
在弹出的对话框中,去掉默认的IP地址后(默认禁止所有IP地址访问),将待访问设备的公网IP地址添加至白名单中。
获取本地设备公网IP地址的方式可能因你所处的网络环境或操作不同而不同。以下是不同系统通过命令方式获取本地设备公网IP地址的参考方法:
Linux操作系统:打开终端,输入
curl ifconfig.me
命令后回车。Windows操作系统:打开命令提示符,输入
curl ip.me
命令后回车。macOS操作系统:打开终端,输入
curl ifconfig.me
命令后回车。
单击确认。
确认后,如果对应白名单中出现您添加的IP地址,说明配置成功。
返回实例管理页面,在Kibana区域,单击公网入口。
在登录页面输入用户名和密码,单击登录。
用户名为elastic,密码为您创建实例时设置的密码。
在欢迎使用 Elastic页面单击自己浏览。
在Kibana主页,单击页面左上角的
图标,然后选择Management > 开发工具。
在控制台页签下,执行
GET /
命令访问Elasticsearch实例。访问成功后的结果示例如图所示。
创建索引
5
在控制台页签下,执行如下命令创建一个名称为product_info的索引,索引的类型为_doc,并包含了productName、annual_rate和describe字段。
PUT /product_info
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"productName": {
"type": "text",
"analyzer": "ik_smart"
},
"annual_rate":{
"type":"keyword"
},
"describe": {
"type": "text",
"analyzer": "ik_smart"
}
}
}
}
创建成功后,返回结果如下。
{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "product_info"
}
插入数据
5
本教程以创建理财产品信息文档为例,体验对相关信息的搜索功能。
如果您有批量插入数据的需求,可以用_bulk API。
如果返回结果中包括
"result": "created"
,说明数据插入成功。
在控制台页签下,分别执行如下命令插入6条数据:
插入理财产品A的数据
POST /product_info/_doc {"productName":"理财产品A","annual_rate":"3.2200%","describe":"180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"}
插入理财产品B的数据
POST /product_info/_doc {"productName":"理财产品B","annual_rate":"3.1100%","describe":"90天定投产品,最低10000起投,每天收益到账消息推送"}
插入理财产品C的数据
POST /product_info/_doc {"productName":"理财产品C","annual_rate":"3.3500%","describe":"270天定投产品,最低40000起投,每天收益立即到账消息推送"}
插入理财产品D的数据
POST /product_info/_doc {"productName":"理财产品D","annual_rate":"3.1200%","describe":"90天定投产品,最低12000起投,每天收益到账消息推送"}
插入理财产品E的数据
POST /product_info/_doc {"productName":"理财产品E","annual_rate":"3.0100%","describe":"30天定投产品推荐,最低8000起投,每天收益会消息推送"}
插入理财产品F的数据
POST /product_info/_doc {"productName":"理财产品F","annual_rate":"2.7500%","describe":"热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"}
搜索数据
5
全文搜索。
在控制台页签下,执行如下命令搜索描述内容包含
每天收益到账消息推送
的所有产品。GET /product_info/_search { "query": { "match": { "describe": "每天收益到账消息推送" } } }
搜索成功后,示例返回结果如下。返回结果中的took表示查询耗时,单位为毫秒,取值不固定。
返回结果
{ "took": 4, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 6, "relation": "eq" }, "max_score": 2.5872064, "hits": [ { "_index": "product_info", "_id": "giGuMYcB348Ne9mFsSZY", "_score": 2.5872064, "_source": { "productName": "理财产品C", "annual_rate": "3.3500%", "describe": "270天定投产品,最低40000起投,每天收益立即到账消息推送" } }, { "_index": "product_info", "_id": "gyGuMYcB348Ne9mFuyZG", "_score": 2.1155806, "_source": { "productName": "理财产品D", "annual_rate": "3.1200%", "describe": "90天定投产品,最低12000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "gCGuMYcB348Ne9mFqCZF", "_score": 1.7260926, "_source": { "productName": "理财产品B", "annual_rate": "3.1100%", "describe": "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "OtCuMYcBI4FSIOsEwyA2", "_score": 0.72928625, "_source": { "productName": "理财产品E", "annual_rate": "3.0100%", "describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送" } }, { "_index": "product_info", "_id": "hCGuMYcB348Ne9mFzibw", "_score": 0.5753642, "_source": { "productName": "理财产品F", "annual_rate": "2.7500%", "describe": "热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息" } }, { "_index": "product_info", "_id": "PTOuMYcBnBo3P75KmAqY", "_score": 0.5553795, "_source": { "productName": "理财产品A", "annual_rate": "3.2200%", "describe": "180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送" } } ] } }
按查询条件搜索。
在控制台页签下,执行如下命令搜索年化率在3.0000%到3.1300%之间的产品。
GET /product_info/_search { "query": { "range": { "annual_rate": { "gte": "3.0000%", "lte": "3.1300%" } } } }
搜索成功后,示例返回结果如下。
返回结果
{ "took": 4, "timed_out": false, "_shards": { "total": 5, "successful": 5, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 3, "relation": "eq" }, "max_score": 1, "hits": [ { "_index": "product_info", "_id": "N5Z3DIcB9LAL1VnBDT0T", "_score": 1, "_source": { "productName": "理财产品E", "annual_rate": "3.0100%", "describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送" } }, { "_index": "product_info", "_id": "sCx2DIcB1rhVw9AX71uo", "_score": 1, "_source": { "productName": "理财产品B", "annual_rate": "3.1100%", "describe": "90天定投产品,最低10000起投,每天收益到账消息推送" } }, { "_index": "product_info", "_id": "NpZ3DIcB9LAL1VnBAj0q", "_score": 1, "_source": { "productName": "理财产品D", "annual_rate": "3.1200%", "describe": "90天定投产品,最低12000起投,每天收益到账消息推送" } } ] } }
更多搜索方式,请参见Query DSL。
完成
5
完成以上操作后,您已经成功创建了检索分析服务Elasticsearch版实例以及product_info索引,并在索引中插入了测试数据。您可以在Kibana的控制台页签下,执行对应命令查看索引和数据。
GET /product_info/_search
{
"query": {
"match_all": {}
}
}
预期返回结果如下,通过返回结果可以看到product_info索引中已经插入的所有测试数据。
预期结果
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 6,
"relation": "eq"
},
"max_score": 1,
"hits": [
{
"_index": "product_info",
"_id": "2NmzaYcBtVHg6HH0RrVZ",
"_score": 1,
"_source": {
"productName": "理财产品B",
"annual_rate": "3.1100%",
"describe": "90天定投产品,最低10000起投,每天收益到账消息推送"
}
},
{
"_index": "product_info",
"_id": "3t2zaYcBkLtC72OUYBmR",
"_score": 1,
"_source": {
"productName": "理财产品E",
"annual_rate": "3.0100%",
"describe": "30天定投产品推荐,最低8000起投,每天收益会消息推送"
}
},
{
"_index": "product_info",
"_id": "2dmzaYcBtVHg6HH0TbXJ",
"_score": 1,
"_source": {
"productName": "理财产品C",
"annual_rate": "3.3500%",
"describe": "270天定投产品,最低40000起投,每天收益立即到账消息推送"
}
},
{
"_index": "product_info",
"_id": "4N2zaYcBkLtC72OUaBkO",
"_score": 1,
"_source": {
"productName": "理财产品F",
"annual_rate": "2.7500%",
"describe": "热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"
}
},
{
"_index": "product_info",
"_id": "Ou-zaYcBWOFG9765OnQ7",
"_score": 1,
"_source": {
"productName": "理财产品A",
"annual_rate": "3.2200%",
"describe": "180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"
}
},
{
"_index": "product_info",
"_id": "Ru-zaYcBWOFG9765WHSD",
"_score": 1,
"_source": {
"productName": "理财产品D",
"annual_rate": "3.1200%",
"describe": "90天定投产品,最低12000起投,每天收益到账消息推送"
}
}
]
}
}
清理及后续
5
清理
检索分析服务Elasticsearch版提供的包年包月实例具有期限限制,到期后实例会自动释放。完成教程后,您可以按照如下场景进行处理:
如果您不需要继续使用,请及时清理测试数据和使用资源:
清理索引。
在控制台页签下,执行对应命令删除索引,避免浪费资源。索引删除后不可恢复,请谨慎操作。
DELETE /product_info
删除成功后,返回结果如下。
{ "acknowledged" : true }
清理专有网络VPC资源。具体操作请参见删除专有网络。
如果您需要继续使用,请在实例到期前或到期后7天内进行续费操作,具体操作请参见续费实例。未续费的实例将在到期7天后被释放,释放后数据将被永久删除,无法恢复。
后续
您可以通过API或客户端访问实例,也可以通过配置实例提高查询效率和服务的安全性,详细信息请参见快速访问与配置。
总结
常用知识点
问题1:Elasticsearch实例停止服务后多久被释放?
正确答案是7天。Elasticsearch实例停止服务7天后释放实例,释放后数据将被永久删除,无法恢复。
问题2:进入Kibana控制台后,如何访问实例?(单选题)
正确答案是执行GET /
命令。您可以在Kibana控制台中执行GET /
命令访问对应的Elasticsearch实例,执行成功后会系统会返回实例的名称、UUID以及版本信息等。