综合 Elastic 9.5 上线 Columnar Mode 技术预览:字段默认只存 doc values,倒排索引不再默认建

2026-10-09 21:07:51

Elastic 9.5 上线 Columnar Mode 技术预览:字段默认只存 doc values,倒排索引不再默认建

Elastic 9.5 已 GA,配套的 Elasticsearch release notes 同步更新。以下按官方变更清单逐项梳理会影响索引设计、查询路径和运维的部分。

Columnar Mode(技术预览)

一种 opt-in 的索引模式:每个字段只以列存形式写一次,默认不建倒排索引,换取更小的存储占用,也是更快写入、分析查询和更长数据保留周期的基础。它与现有索引模式并存,API、Dashboards、集成层零改动,已有索引不受影响。

具体行为:

  • 字段只存为 doc values,默认没有倒排索引,也没有 BKD tree。
  • doc values skippers(带 min/max 元数据的紧凑 skip list)在 number 类型字段上默认开启。
  • Columnar Logs 是第一个面向日志的专用 profile:只在 message 字段上保留单个倒排索引,保证全文检索速度,其余字段全部列式存储。
  • 两种模式都需要显式开启。

适用边界:列式的收益集中在写入吞吐、存储占用和聚合/分析类查询上,适合日志、指标这类字段多、保留期长、以范围扫描和聚合为主的数据。代价是字段级精确查找和高选择性 term 过滤没有倒排索引可依赖,依赖 BKD 的数值/地理范围查询路径也会变化——这类查询密集的场景需要评估后再切。Columnar Logs 的选择也说明了一点:全文检索仍然要付出一个倒排索引的代价,它只是被收敛到了单个字段上。

VectorDB index mode 与 DiskBBQ 自动校准

VectorDB index mode 用单个 setting 开启高性能向量检索,不需要手工调配置;它会给出一组面向向量优化的默认值,覆盖量化、merge policy 和 cache loading。

DiskBBQ 向量检索引入了自动校准:对向量做统计分析后,自动配置量化深度、preconditioning 和 oversampling,不再依赖人工试参。

原生 Prometheus / PromQL 支持转 GA

原生 Prometheus 与 PromQL 支持已 GA,可以把 Prometheus 工作负载迁移到 Elasticsearch 上运行。

TSDB 原生支持 metric temporality

指标可以经由 OTLP 端点以 cumulative 和 delta temporality 摄取。temporality 会作为一个额外的 metric dimension 存储,ES|QL 的 TS 查询会解释 temporality。相关的新设置是 index.time_series.temporality_field。ES95 现在是新 time series data stream 的默认 doc values codec。

ES|QL 变更

  • 支持 flattened 字段类型(此前不支持)。
  • 新增 FIELD_EXTRACT 函数:FIELD_EXTRACT(object, "subfield"),从对象中取出单个子字段。
  • date_range 字段类型进入技术预览,配套函数包括 TO_DATE_RANGE、TO_RANGE、RANGE_MIN / RANGE_MAX / RANGE_CONTAINS / RANGE_INTERSECTS / RANGE_WITHIN,以及通用函数 COUNT、PRESENT、ABSENT、MV_*。
  • ES|QL Data Federation 为实验性功能。

Dashboards、可视化与 Fast Mode

Dashboards & Visualizations API 已 GA,对话中的 dashboards 也 GA。Fast Mode 是 UI 上的开关:Dashboards 和 Discover 里基于 STATS 的查询会跑在采样数据集上,而不是扫描全量数据。

Agent Builder

新增 Agent Observability and Monitoring(技术预览):以 OpenTelemetry(OTel)格式在 Elasticsearch 中追踪 LLM 调用、工具调用和推理步骤。human-in-the-loop 审批用于拦截敏感操作,并把决策记录进审计轨迹。

9.5.5 及其它变更

最新的 9.5.5 包含安全修复。其他改动:

  • multi_terms 聚合限制为最多 128 个字段。
  • kibana_system 角色获得第三方 agent 索引的权限。
  • 依赖升级:Parquet Hadoop bundle、zstd-jni 1.5.7-16。

DLM 支持 frozen tier

生命周期管理现在支持 frozen tier:超过设定年龄的 backing index 会被迁移到 frozen tier,作为部分挂载的 searchable snapshot 存在。该功能需要 Enterprise license,Elastic Cloud Serverless 上不可用。

参考

  • Elastic 9.5 GA 公告:
  • Elasticsearch release notes:
复制全文 生成海报 Elasticsearch 搜索 可观测性 数据库

推荐文章

程序员茄子在线接单