使用DSL语言在Elasticsearch中搜索数据 DSL语言是Elasticsearch查询域的特定语言,是客户端与Elasticsearch集群交互的最佳语言。Elasticsearch DSL是基于JSON格式的语言,其他语言如SQL本质上也是先转译为Elasticsearch
配置Elasticsearch集群监控 使用CES监控Elasticsearch集群 配置Elasticsearch集群内核监控 配置Elasticsearch集群索引监控 父主题: Elasticsearch集群监控与日志管理
使用SQL语言在Elasticsearch中搜索数据 在Elasticsearch集群 6.5.4及之后版本中提供Open Distro for Elasticsearch SQL插件允许您使用SQL而不是Elasticsearch查询域特定语言(DSL)编写查询。 熟悉SQL语言的用户
Elasticsearch集群支持多种客户端访问,本文仅以CSS服务集成的Kibana为例介绍配置指导。 登录云搜索服务管理控制台。 在左侧导航栏,选择“集群管理 > Elasticsearch”。 在集群列表,选择目标集群,单击操作列的“Kibana”,登录Kibana。
前提条件 当智能检测任务完成后需要发送SMN告警通知时,需要先在SMN服务创建主题,操作指导请参见创建主题。同时,需要参考授权使用SMN服务完成SMN服务授权。 启动检测任务 登录云搜索服务管理控制台。 在集群管理页面,单击需要进行智能运维的集群名称,跳转至该集群基本信息页面。
导入向量数据 导入向量数据是将数据写入CSS向量数据库的过程。在向量数据库中,向索引写入向量数据时,需通过指定向量字段名称(如my_vector)和对应的数据格式才能完成数据结构化存储。CSS向量数据库支持两种常见格式:浮点数组格式和Base64编码格式。 浮点数组格式:直接传输可读的数值数组
向量检索特性介绍 在人工智能时代,图像、视频、音频、文本语料等非结构化数据激增,传统的关键词搜索难以有效捕捉这些数据深层的语义或视觉特征,为了解决这个问题,CSS服务提供了向量检索功能。
管理向量索引缓存 CSS向量检索引擎基于C++构建,采用堆外内存技术以提升性能和效率。为更好地管理和优化向量索引缓存,CSS向量数据库提供了一系列专用接口,使用户能够灵活地监控和调整缓存使用情况,从而确保查询性能的稳定性和可靠性。 查看缓存统计信息 通过下面的API检索堆外内存的使用情况
SSL解析方式 客户端到服务器端认证方式。仅“前端协议”选择“HTTPS”才需要配置。 根据实际业务需要选择解析方式。 服务器证书 服务器证书用于SSL握手协商,需提供证书内容和私钥。仅“前端协议”选择“HTTPS”才需要配置服务器证书。
CSS服务扩展实现了多种向量距离计算函数,可在自定义的Painless脚本中直接使用,用以构建灵活的重打分公式。
适用于CPU资源充足但写入延迟高的场景(如GPU服务器环境)。
授权使用SMN服务 通过CSS服务的管理员账号登录云搜索服务管理控制台。 在左侧导航栏选择“服务授权”。 在服务授权页面,单击“创建SMN委托”,在弹窗中确认委托创建成功。
CES中Logstash集群支持的监控指标 云监控服务CES支持实时监控云搜索服务集群的核心指标,方便用户掌握集群的指标信息,以便及时处理集群的异常状况。 功能说明 本节定义了云搜索服务上报云监控服务的监控指标的命名空间,监控指标列表和维度定义。
图1 返回消息 在ECS服务器上使用开源Elasticsearch API导入数据 在ECS服务器上支持通过Curl命令使用开源Elasticsearch API导入JSON数据文件。
Elasticsearch集群支持的监控指标 CES中Elasticsearch集群支持的监控指标 Elasticsearch集群内核支持的监控指标 父主题: Elasticsearch集群监控与日志管理
向量检索的Java代码示例 Elasticsearch提供了标准的REST接口,以及Java、Python等语言编写的客户端。 本节提供一份创建向量索引、导入向量数据和查询向量数据的Java代码示例,介绍如何使用客户端实现向量检索。 前提条件 根据集群实际版本添加如下Maven依赖
向量检索的Python代码示例 Elasticsearch提供了标准的REST接口,以及Java、Python等语言编写的客户端。 本节提供一份创建向量索引、导入向量数据和查询向量数据的Python代码示例,介绍如何使用客户端实现向量检索。 前提条件 客户端已经安装python依赖包
创建Elasticsearch向量集群 CSS向量数据库通过结合高效索引技术,为高维向量检索提供了高性能、低成本、易扩展的解决方案。Elasticsearch向量集群通过将非结构化数据转换为高维向量,并结合向量索引技术(如HNSW图索引、乘积量化等),可实现近似最近邻检索(ANN)
前提条件 已准备好Prometheus监控服务器,并获取Pushgateway地址。Prometheus和Elasticsearch之间要保证网络互通,否则告警信息无法成功发送。 Elasticsearch集群处于可用状态。 设置告警同步 登录云搜索服务管理控制台。
通过嵌套字段实现向量检索 使用嵌套字段可以实现在单条文档中存储多条向量数据,比如在RAG场景中,文档数据通常需要按段落或按长度进行切分,分别进行向量化得到多条语义向量,通过嵌套字段(Nested)可以将这些向量写入同一条ES的文档中。对于包含多条向量数据的文档,查询时任意一条向量数据与查询向量相似便会返回该条文档