OpenSearch 3.2 现已发布,带来众多功能,提升和拓展搜索、可观测性及生成式 AI 应用场景。
本次版本重点延续 3.x 系列的新创新,包括:
- 扩展 GPU 支持
- 近似框架重大改进
- OpenSearch 中 Protobuf 正式发布(GA)
许多改进旨在帮助更高效地扩展工作负载,提升索引和查询能力。一些重点更新内容如下:
搜索
搜索在性能、可扩展性和功能扩展上都有多项改进。
近似框架重大升级
OpenSearch 3.2 在两个方面增强了近似框架。
首先,3.2 支持了 search_after 查询,解决了此前此类查询退化为默认 Lucene 遍历的性能瓶颈。改进后,search_after 参数转为合理的范围查询边界——ASC 排序时作为下界,DESC 排序时作为上界,从而持续利用 ApproximatePointRange 优化的 BKD 遍历,避免回退到 Lucene。该优化大幅提升时间序列和数值型分页查询性能。基准测试中,Big5 数据集 p90 延迟从 185ms 降至 8ms,http_logs 数据集 DESC 排序延迟从 397ms 降至 7ms。提升了分页搜索、实时仪表盘及深度分页应用的响应速度。
其次,3.2 扩展了近似查询支持的数值字段类型,覆盖 HALF_FLOAT、FLOAT、DOUBLE、INTEGER、BYTE、SHORT、UNSIGNED_LONG,不再限于 LONG。基准测试表明,http_logs 和 nyc_taxis 数据集的 p90 延迟最高下降 80%。这一优化对分析任务、时间序列分析及多样数值字段的快速过滤排序尤为有效。
体验更高性能的 gRPC/Protobuf API
3.2 版本中,gRPC 传输层正式发布(GA),支持高性能的批量文档导入和 k-NN 查询。相比传统 REST API,gRPC 使用 Protocol Buffers(Protobuf)——一种紧凑、结构化且强类型的二进制格式,自动从 OpenSearch API 规范生成。此格式减小负载体积,提升整体性能,尤其适合高吞吐量操作和向量搜索等原始数据类型。GA 版本还扩展了搜索 API 功能和传输加密。
新增 skip_list 功能提升查询性能
3.2 引入了 skip_list 参数,适用于频繁用于范围查询或聚合的字段。skip_list 使查询引擎跳过不匹配的文档区间,从而提升查询效率。详情参考字段类型文档。
star-tree 搜索新增功能
star-tree 支持基于 IP 字段的聚合查询。同时,star-tree 相关的基本查询指标已纳入索引/节点/分片统计,包含使用 star-tree 解析的查询总数、当前运行查询数和累计耗时。详见相关博客介绍。
流式聚合优化资源分配
3.2 试验性引入基于流式传输的聚合功能,支持分段级别的部分聚合结果流式返回给协调节点,避免每个分片返回单一响应。此架构让协调节点成为扩展关键点,内存密集的 reduce 逻辑从数据节点迁移至协调节点,更好支持高基数聚合。通过 stream=true 参数可选择启用此功能。
向量数据库与生成式 AI
OpenSearch 3.2 在性能和扩展性上多项提升,包括支持更多向量类型的 GPU 支持、向量搜索质量改进及 Neural Search 插件更新。
新向量类型扩展 GPU 支持
GPU 索引支持 FP16、byte 和 binary 向量类型,除了之前的 FP32。新类型占用更少内存,减少 GPU 和 CPU 之间的数据传输,提高资源利用率和扩展能力,助力更多 GPU 加速索引应用。
提升磁盘向量搜索召回率
3.2 推出两种提升二进制量化索引搜索质量的技术。非对称距离计算(ADC)保持查询向量全精度,对压缩文档向量进行比对,保留关键信息。随机旋转(RR)重新分配向量维度方差,防止 32 倍压缩中信息丢失。ADC 支持 1-bit 量化,RR 支持 1、2、4-bit 配置。两者结合可在复杂数据集(如 SIFT)上召回率提升最高达 80%,延迟适中,使二进制量化适用于对精度要求高的场景。
优化语义搜索,满足多样需求
Neural Search 插件的语义字段参数更灵活,支持调节密集嵌入字段(engine、mode、compression_level、method)、自定义文本分块算法及稀疏嵌入生成的剪枝策略和比例。新增批量大小选项提升索引吞吐,嵌入复用减少重复计算。提升语义搜索的灵活性、效率和适配性,针对不同数据、性能及相关性需求优化。
Plan-execute-reflect 代理正式发布
该代理可自主规划和反思,解决复杂任务,3.2 达到 GA 级别,新增提示词优化性能、消息历史参数控制、支持日期时间输入。通过 ML Commons 插件提供,能将复杂问题拆解为步骤,选择合适工具执行,并不断反思改进策略。
可观测性、日志分析与安全分析
OpenSearch 3.2 在查询性能、Trace Analytics 插件分析能力等方面持续提升。
支持 OpenTelemetry 和服务图控制
Trace Analytics 插件支持 OpenTelemetry(OTel)追踪分析,从 Data Prepper 2.11 的数据接收,到 OpenSearch 3.2 的可视化。配置 OTel 源时,设置 output_format: otel,可保留标准字段和元数据,助力与 OTel 工具链集成。服务图新增最大节点和边数配置,方便大规模环境下调整视觉复杂度。
PPL Calcite 更新提升性能和易用性
3.2 对 Piped Processing Language(PPL)带来性能和查询灵活性提升。新增基于 Calcite 行表达式的脚本引擎,支持聚合函数、过滤函数下推、跨度下推、相关性查询下推、排序合并连接下推及 IP 比较下推。增加参数强制转换、新增日期处理及 QUERY_SIZE_LIMIT 强制执行等功能。整体提升复杂查询的性能、正确性和易用性。
OpenSearch Prometheus Exporter
Prometheus exporter 插件已归入 OpenSearch 项目,与 3.2 同步发布。该插件不随核心包内置,需单独安装。发布节奏和版本管理已同步 OpenSearch,现有 Prometheus 抓取流程保持兼容,指标继续暴露在 /_prometheus/metrics。
更多详情可查看发行说明。
还没有评论,来说两句吧...