检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
常用于以下场景: 变更服务提供商:如果企业当前使用的是第三方Elasticsearch服务,但出于成本、性能或其他战略考虑,希望更换服务提供商至华为云。
使用DSL语言在Elasticsearch中搜索数据 DSL语言是Elasticsearch和OpenSearch查询域的特定语言,是客户端与Elasticsearch和OpenSearch集群交互的最佳语言。Elasticsearch DSL是基于JSON格式的语言,其他语言如SQL
向量检索的客户端代码示例(Java) OpenSearch提供了标准的REST接口,以及Java、Python等语言编写的客户端。 本节提供一份创建向量索引、导入向量数据和查询向量数据的Java代码示例,介绍如何使用客户端实现向量检索。 前提条件 根据集群实际版本添加如下Maven
在嵌套字段中使用向量索引 使用嵌套字段可以实现在单条文档中存储多条向量数据,比如在RAG场景中,文档数据通常需要按段落或按长度进行切分,分别进行向量化得到多条语义向量,通过嵌套字段(Nested)可以将这些向量写入同一条ES的文档中。对于包含多条向量数据的文档,查询时任意一条向量数据与查询向量相似便会返回该条文档
集群数据节点或冷数据节点的内存规格要大于16G,否则无法使用CSS服务的向量检索插件,如果需要开启则请联系技术支持。 向量检索的集群规格规划 向量检索的索引构建与查询均使用堆外内存,所以集群容量与索引类型、总堆外内存大小等因素相关。
向量检索的客户端代码示例(Python) Elasticsearch提供了标准的REST接口,以及Java、Python等语言编写的客户端。 本节提供一份创建向量索引、导入向量数据和查询向量数据的Python代码示例,介绍如何使用客户端实现向量检索。 前提条件 客户端已经安装python
确保运行Java代码的服务器与CSS集群的网络是互通的。
图1 返回消息 在ECS服务器上使用开源Elasticsearch API导入数据 在ECS服务器上支持通过Curl命令使用开源Elasticsearch API导入JSON数据文件。
配置Elasticsearch集群读写流量控制策略1.0 场景描述 流量控制1.0提供节点级别的流量控制功能,可提供单个节点基于黑白名单的访问限制、HTTP并发连接数限制、HTTP最大连接数限制、基于请求Path的堆内存最大使用量流控能力、基于CPU最大占用率流控能力,一键断流能力
取值范围: keep(默认值):如果堆内存仍在高位,选择继续反压 - 何时执行请求仍由服务器根据实时内存自主决定。 soft:如果堆内存仍在高位,也必须执行该请求。执行/拒绝权力交给inFlight熔断器。 hard:如果堆内存仍在高位,丢弃该请求,同时断开该请求的客户端连接。
可以在IAM服务的“权限管理 > 权限”查看是否有以下权限,如果没有请联系服务管理员添加。 “CSS Administrator”角色。 “OBS Administrator”策略 父主题: 配置Elasticsearch集群自定义词库
优化向量检索写入与查询性能 写入性能优化 关闭副本,待数据导入完成后再开启副本,减少副本构建的开销。 调整“refresh_interval”为120s或者更大,避免频繁刷新索引生成大量小的segments,同时减少merge带来的向量索引构建开销。 适当调大“native.vector.index_threads
通过Kibana图表查看索引监控 为了方便查看索引的监控信息,CSS服务的索引监控预置了Kibana的Dashboard和Visualizations图表。 登录云搜索服务管理控制台。 在“集群管理”页面,选择已创建的集群,单击操作列“Kibana”,登录Kibana界面。
确认服务器已安装JDK1.8,JDK1.8官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。 服务器已引入Java依赖。
通过索引生命周期管理实现自动滚动索引 登录云搜索服务管理控制台。 在左侧导航栏,选择对应的集群类型,进入集群列表页面。 在集群列表页面中,单击集群操作列的“Kibana”登录Kibana页面。 在Kibana的左侧导航中选择“Dev Tools”,进入命令执行页面。
创建向量索引 登录云搜索服务管理控制台。 在“集群管理”页面,选择需要启用向量检索的集群,单击操作列“Kibana”,登录Kibana界面。 单击左侧导航栏的“Dev Tools”,执行如下命令创建向量索引。
状态码 状态码 描述 200 请求已成功。 403 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 500 表明服务端能被请求访问到,但是不能理解用户的请求。
确保运行Java代码的服务器与CSS集群的网络是互通的。 根据集群选择的网络配置方式,获取集群的访问地址,具体操作请参见网络配置。
向量检索的客户端代码示例(Java) Elasticsearch提供了标准的REST接口,以及Java、Python等语言编写的客户端。 本节提供一份创建向量索引、导入向量数据和查询向量数据的Java代码示例,介绍如何使用客户端实现向量检索。 前提条件 根据集群实际版本添加如下Maven
在Elasticsearch集群使用向量索引搜索数据 使用向量索引搜索数据支持多种方式。 标准查询 复合查询 ScriptScore查询 重打分查询 Painless语法扩展查询 标准查询 针对创建了向量索引的向量字段,提供了标准向量查询语法。下述查询命令将会返回所有数据中与查询向量最近的