学习内容创建并配置一个ES实例

通过Kibana的开发工具(Dev Tools)进行数据建模。

Kibana是ES的核心组件之一,能够让用户通过直观的图形化方式探索、分析和展示存储在 ES 中的数据。为方便用户使用,Kibana已内置在ES控制台,无需手动安装。

插入样本数据并执行多种检索操作。

完成本教程后,可掌握ES最基础的索引创建、数据读写和搜索能力。

ES版本与成本说明正式操作前,需了解以下测试过程中涉及的关键信息:

ES类型和版本:向量增强版 8.17.0。

该版本将 AI 搜索链路中的核心算法服务组件化,包含文档解析、切片、文本向量化、查询分析、召回、排序以及 LLM 模型,支持语义搜索,助力企业快速构建 RAG 和多模态搜索能力。

成本预估:本教程全程采用按量付费模式。若严格按照推荐规格和时长操作,预计总花费在20元以内。测试完成后,请立即释放实例,以避免产生不必要的费用。

前提条件注册并登录阿里云账号:确保账号拥有创建和管理Elasticsearch、VPC等资源的权限。

创建专有网络VPC和虚拟交换机vSwitch,记录VPC和vSwitch所在的地域和可用区。后续创建ES实例时必须选择相同的地域和可用区,否则无法关联。

操作步骤步骤一:创建集群(约20分钟)进入实例创建页面创建实例,关键参数配置如下,其他参数默认即可。

参数

说明

付费类型

按量付费,可随时释放。

地域与可用区

地域:选择已创建的VPC和vSwitch所在地域。

可用区:测试需求下,为减少实例创建等待时间,选择单可用区。应用生产环境时,可升级为多可用区。

本示例为华东1(杭州)/ 可用区I。

网络类型

选择已创建的VPC和vSwitch。

实例类型和Elasticsearch版本

向量增强版8.17.0,本教程基于此版本。

数据节点规格

CPU类型:Intel 2核4G。

数据节点存储类型及数量:SSD云盘、单节点存储空间20GiB。

数据节点数量:2。

数据节点是存储索引数据的节点,主要对文档进行增删改查、聚合等操作。Kibana节点

2核4G

实例名称

ES_test

登录密码

自定义,后续用于登录Kibana进行索引构建与数据探索。

单击立即购买,等待约20分钟直至实例状态变为正常即可进入下一步操作。

步骤二:配置并登录KibanaKibana公网访问地址默认开启,出于安全考虑,公网访问默认禁止所有IP,需要将待访问设备的IP地址加入白名单才能访问。

访问鉴权采用双重验证:首先需登录您的阿里云账号,然后使用 ES 实例的访问信息(用户名固定为 elastic 及其对应密码)进行二次登录验证。

在左侧导航栏单击可视化控制,在Kibana区域进入修改配置。

在访问配置模块,修改Kibana公网访问白名单。

获取待访问设备IP您可以参照以下场景,获取待访问设备的IP地址。

场景

需获取的IP地址

获取方式

在本地设备中通过公网地址访问Kibana。

本地设备公网IP。

说明 如果您的本地设备处在家庭网络或公司局域网中,需要添加局域网的公网出口IP地址。

通过curl ipinfo.io/ip查询本地设备公网IP。

在ECS实例中通过公网地址访问Kibana。

当ECS与ES在不同专有网络中时,可通过ECS公网地址访问Kibana,此时需获取ECS的公网IP并添加到ES公网白名单中。

登录ECS控制台,在实例列表查看实例的公网IP地址。

添加公网白名单获取待访问设备IP并将其添加至公网白名单中。

单击default分组右侧的配置,在弹出的对话框中添加IP白名单。

配置类别

格式和示例值

重要注意事项

IPv4地址格式

单个IP:192.168.0.1

网段:192.168.0.0/24,建议将零散的IP合并为IP段

单个集群最多可配置300个IP或者IP网段,多个IP或者IP网段之间用英文逗号隔开,且逗号前后不能有空格。

公网默认地址:127.0.0.1,表示禁止所有IPv4地址访问。

0.0.0.0/0:允许所有IPv4访问。

重要 强烈建议不要配置 0.0.0.0/0,存在高危风险。

部分集群和地域不支持 0.0.0.0/0,请以界面或者报错提示为准。

配置完成后,单击确认。

单击公网入口,在Kibana登录页面,输入用户名和密码,成功登录即可进入Kibana控制台进行ES数据探索。

用户名:固定为elastic。

密码:创建ES集群时设置的密码,如遗忘可重置密码。

进入开发工具控制台,执行GET /查询集群信息。

结果验证:右侧窗口返回包含版本号、集群名称等信息的JSON对象,则表示连接正常。

步骤三:创建索引在Kibana的开发工具中执行Restful API为理财产品数据创建索引(Mapping)product_info。

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"

}

}

}

}核心参数说明:

settings:定义索引分片配置,如定义5个主分片,每个主分片1个副本。mappings:定义索引字段。如定义索引文件中有productName、annual_rate、describe3个字段。text类型字段支持分词和模糊搜索,keyword类型字段用于精确值匹配,更多字段类型请参见Field data types。结果验证:返回结果含"acknowledged": true和"shards_acknowledged": true表示索引创建成功。

步骤四:插入数据执行以下代码批量插入测试数据:

POST /product_info/_bulk

{"index":{}}

{"productName":"理财产品A","annual_rate":"3.2200%","describe":"180天定期理财,最低20000起投,收益稳定,可以自助选择消息推送"}

{"index":{}}

{"productName":"理财产品B","annual_rate":"3.1100%","describe":"90天定投产品,最低10000起投,每天收益到账消息推送"}

{"index":{}}

{"productName":"理财产品C","annual_rate":"3.3500%","describe":"270天定投产品,最低40000起投,每天收益立即到账消息推送"}

{"index":{}}

{"productName":"理财产品D","annual_rate":"3.1200%","describe":"90天定投产品,最低12000起投,每天收益到账消息推送"}

{"index":{}}

{"productName":"理财产品E","annual_rate":"3.0100%","describe":"30天定投产品推荐,最低8000起投,每天收益会消息推送"}

{"index":{}}

{"productName":"理财产品F","annual_rate":"2.7500%","describe":"热门短期产品,3天短期,无须任何手续费用,最低500起投,通过短信提示获取收益消息"}结果验证:返回结果含"errors": false表示数据插入成功。

步骤五:检索数据全文检索(模糊匹配)查询describe包含“每天收益到账”的理财产品:

GET /product_info/_search

{

"query": {

"match": {

"describe": "每天收益到账消息推送"

}

}

}结果验证:返回结果按相关性评分排序,评分越高的结果越靠前。

按条件检索(精确匹配)

查询annual_rate(年化利率)在3.00%~3.13%之间的理财产品:

GET /product_info/_search

{

"query": {

"range": {

"annual_rate": {

"gte": "3.0000%",

"lte": "3.1300%"

}

}

}

}结果验证:精确匹配数值范围,返回符合条件的结果,更多查询条件的使用请参见QueryDSL。

清理资源与后续学习删除数据并释放ES实例执行如下代码,删除本文创建的测试索引。

DELETE /product_info返回结果如下:

返回Elasticsearch控制台的实例列表。

在实例列表待释放实例右侧的操作列中,单击 > 释放实例,选择无需等待,立即清除,单击确认释放实例。

重要 释放实例会永久删除该实例及其包含的所有数据,此操作不可逆,需谨慎操作。

后续学习路径如需深入学习ES,可从以下方向探索:

数据采集/迁移:将业务数据采集/迁移到ES。

迁移之前需要您根据数据量初步判断,是否需要升级集群配置。

AI服务:使用RAG技术对检索增强生成的各个环节进行能力增强,请参见阿里云AI搜索方案。

性能调优:探索索引设计、查询优化技巧,提升集群性能。

Kibana可视化:学习使用Kibana的Discover、Dashboard等功能,创建数据可视化看板。