Elasticsearch 版本 8.13.0

edit

Elasticsearch 版本 8.13.0

edit

另请参阅 8.13 中的重大变更

已知问题

edit
  • 涉及升级到8.13.0的节点和运行在8.12或更早版本的协调节点的搜索在运行date_histogramhistogram聚合时可能会产生重复的桶。这可能发生在滚动升级到8.13期间或运行跨集群搜索时。(问题:#108181)。
  • 由于捆绑的JDK 22中的一个错误,节点在高内存压力下可能会突然崩溃。我们建议尽快降级到JDK 21.0.2以缓解此问题。
  • 节点升级到8.13.0后无法加载降采样持久任务。这会阻止它们加入集群,从而阻塞集群的升级(问题:#106880

    这会影响运行版本8.10或更高版本的集群,具有活动的降采样 配置 或在升级到版本8.10或更高版本后某个时间点激活的配置。

  • 从8.11.4或更早版本升级集群时,如果您的集群包含非主节点,这些升级节点的新功能信息可能不会正确注册到主节点。这可能导致自8.12.0以来添加的一些新功能在升级后的集群上无法访问。如果您的集群运行在ECK 2.12.1及以上版本,这可能会导致升级完成时出现问题。要解决此问题,请在所有Elasticsearch节点升级后对非主节点执行滚动重启。此问题已在8.15.0中修复。
  • 用于运行机器学习模型的pytorch_inference进程可能会消耗大量内存。在可用内存有限的环境中,操作系统内存不足杀手会终止pytorch_inference进程以回收内存。这可能导致推理请求失败。Elasticsearch会在pytorch_inference进程被终止后自动重启,24小时内最多重启四次。(问题:#110530

重大变更

edit
ES|QL
  • ESQL: 语法 - FROM METADATA 不再需要 [] #105221
  • ES|QL: 从语法中移除 PROJECT 关键字 #105064
  • [ESQL] 移除 is_nan, is_finite, 和 is_infinite #104091
TSDB
  • index.look_ahead_time 索引设置的默认值从2小时更改为30分钟。#103898
  • look_ahead_time 索引设置的最大值从7天降低到2小时。#103434

Bug 修复

edit
Aggregations
  • 禁用带有 min_doc_count 等于 0 的术语聚合的并行收集 #106156
  • GlobalOrdCardinalityAggregator 应使用 HyperLogLogPlusPlus 而不是 HyperLogLogPlusPlusSparse #105546
Allocation
  • 修复在初始化新分片时的磁盘计算 #102879
  • 修复在期望平衡计算中初始化未分配分片时的磁盘计算 #102207
Application
  • 修复搜索应用程序的错误,即在删除应用程序之前删除别名偶尔会导致错误 #106329
  • 使用搜索来确定集群是否包含数据 #103920
  • [Connector API] 错误修复:支持在过滤高级片段值时使用列表类型 #105633
  • [Connector API] 修复 SyncJob 列表端点中的默认排序 #105945
  • [Connector API] 修复连接器索引服务中脚本参数的序列化 #106060
Authentication
Authorization
  • 调整对特定分片ID请求的拦截 #101656
Client
  • 验证 ReloadSecureSettings API 中的设置 #103176
Data streams
  • Apm-data: 修复 @custom 组件模板 #104182
  • 避免在 ecs@mappings 中对中间对象的误报匹配 #105440 (问题: #102794)
  • 使用内部专用用户执行延迟滚动 #104732 #104905 (问题: #104732)
  • 修复当别名指向TSDS时的写索引解析 #104440 (问题: #104189)
  • x-pack/plugin/core: 将 match_mapping_type 添加到 ecs@mappings 动态模板 #103035
Distributed
  • 修复日志记录器 Strings.format 调用 #104573
  • 在APM节点指标发布器中请求索引内存压力 #103520
ES|QL
  • ESQL: 在LIKE/RLIKE下推时添加单值检查 #103807 (问题: #103806)
  • ESQL: 修正超出范围的过滤器下推 #99961 (问题: #99960)
  • ESQL: 修复分析器以不将转义的*解释为模式 #105325 (问题: #104955)
  • ESQL: 修复加载未索引文本字段的错误 #104553
  • ESQL: 修复语法中的错误,允许在id模式内使用空格 #105476 (问题: #105441)
  • ESQL: 修复在具有多个参数的聚合中替换嵌套表达式的错误 #104718 (问题: #104706)
  • ESQL: 修复下推规则中的错误属性遮蔽 #105650 (问题: #105434)
  • ESQL: 改进某些过滤器的下推 #103538 (问题: #103536)
  • ESQL: 允许在日期数学中使用null #103610 (问题: #103085)
  • ESQL: 使cidr_match可折叠 #105403 (问题: #105376)
  • ES|QL: 禁用依赖于Expression.nullable()的优化 #105691
  • ES|QL: 改进聚合中UNSIGNED_LONG的类型验证,更好地支持VERSION #104911 (问题: #102961)
  • ES|QL: 更好地管理TEXT字段的精确子字段 #103510 (问题: #99899)
  • 修复对不可排序的geo_pointcartesian_point进行排序时的错误 #106351 (问题: #106007)
  • 对于空映射使用LocalRelation #105081 (问题: #104809)
  • 当获取页面失败时恢复驱动程序 #106392 (问题: #106262)
  • 审查KEEP逻辑以防止重复的列名 #103316
  • ProjectOperator不应保留对已释放块的引用 #105848
Engine
  • 考虑当前正在刷新的数据在刷新内存使用中的情况 #104122
  • 在迭代后释放 TranslogSnapshot 缓冲区 #106398 (问题: #106390)
Health
  • 使 Health API 对多版本集群更具弹性 #105789 (问题: #90183)
  • 当 es 停止时停止周期性健康日志记录器 #105272
ILM+SLM
  • OperationModeUpdateTask 中移除 hashCodeequals #104265 (问题: #100871)
  • [ILM] 删除步骤删除只有一个索引的数据流 #105772
Indices APIs
  • Fix require_alias implicit true value on presence #104099 (issue: #103945)
Infra/CLI
  • 修复服务器CLI以始终传递退出代码 #104943
Infra/Core
  • 不要启用APM代理的instrument功能,手动追踪不需要它 #105055
  • 修复由强制执行任务引发的错误断言 #104581 (问题: #104580)
  • 指标:允许AsyncCounters切换提供者 #103025
  • 指标:处理观察者中的空观测值 #103091
Infra/Node Lifecycle
  • 关闭而不是在关闭时停止 HttpServerTransport #102759 (问题: #102501)
Ingest Node
  • LogstashInternalBridge 添加稳定的 ThreadPool 构造函数 #105163
  • IngestDocument 复制构造函数添加 executedPipelines #105427
  • 还原 "x-pack/plugin/apm-data: 在管道创建时下载 geoip DB" #104505
  • X-pack/plugin/apm-data: 修复 @custom 管道支持 #104113
Machine Learning
  • 允许用户a通过只读权限获取GET推理模型 #105346
  • 避免在每个集群状态下计算currentInferenceProcessors #106057
  • 捕获摄取处理器代码中的所有潜在异常 #105391
  • 更改系统审计器以使用级别 #105429
  • 在ML维护期间,重置没有相应任务的重置状态中的作业 #106062
  • 修复categorize_text聚合嵌套在空桶下 #105987 (问题: #105836)
  • 修复如果原始重置任务不再存在时重置作业的问题。 #106020
  • 重试作业配置中模型快照ID的更新 #104077
  • OpenAI模型参数应在服务设置中,而不是任务设置中。将配置字段移动到服务设置 #105458
  • 删除推理模型时取消部署elser #104230
Mapping
  • 修复子对象内扁平字段的解析:false #105373
Network
  • 修复事件循环关闭时的use-after-free问题 #105486
Search
  • 使用预过滤器修正knn的分析重写时间 #104150
  • 强制执行SearchService.Reaper #106544 (问题: #106543)
  • TransportTermsEnumAction协调从传输线程中移出 #104408
  • 移除没有适当状态码的SearchException用法 #105150
  • 为折叠要求inner_hits的名称字段 #104666
  • 在插入新文档时对_id字段添加验证 #103399 (问题: #102981)
Security
  • 还原“在ReloadSecureSettings API中验证设置” #103310
Snapshot/Restore
  • 当不可用时不记录s3 http请求时间 #105103
  • URLRepository 不应阻塞关闭 #105588
TLS
  • 尊重 --pass 选项在 certutil csr 模式中 #106105
Transform
  • 修复在失败的转换上调用 _reset API 时,使用 force=true 的问题 #106574 (问题: #106573)
  • 修复在无人值守转换时未设置目标索引别名的错误 #105499
  • 删除重复的检查点审计 #105164 (问题: #105106)
  • 按顺序返回结果 #105089 (问题: #104847)
  • 即使 deduce_mappings==false,也使用推导的映射来确定适当字段的格式 #103682 (问题: #103115)
Vector Search
  • 修复嵌套knn预过滤器可能匹配嵌套文档时的错误 #105994
Watcher
  • 处理观察者重新加载时的异常 #105442 (问题: #69842)

弃用

edit
Distributed
  • DesiredNode: 弃用 node_version 字段并使其在当前解析器中可选(未使用)#104209
Infra/Core

增强功能

edit
Aggregations
  • counted_keyword 添加索引映射参数 #103646
  • 引入 AggregatorReducer 以减少协调节点中聚合的占用空间 #105207
  • BestBucketsDeferringCollector 中更早地释放资源 #104893
  • counted_terms 聚合中支持采样 #103846
Allocation
  • 考虑保留磁盘大小 #103903
  • 从主分片推导预期副本大小 #102078
Application
  • 为连接器API添加无服务器范围 #104063
  • [连接器API] 将所需权限更改为indices:data/read(write) #105289
  • [连接器API] 实现更新 index_name 操作 #104648
  • [连接器API] 支持在列表操作中按名称、索引名称进行过滤 #105131
  • [连接器API] 支持按服务类型和查询过滤连接器 #105178
  • [连接器API] 支持仅更新配置值 #105249
  • [连接器API] 向连接器添加新字段 api_key_secret_id #104982
  • [连接器API] 实现连接器状态更新操作 #104750
  • [连接器API] 实现更新本地操作端点 #104654
  • [连接器API] 实现更新服务类型操作 #104643
  • [连接器API] 放宽对获取/列表操作的严格响应解析 #104909
  • [分析] 从源中更快地提取属性 #104356
  • [分析] 将所有模板标记为受管理 #103783
  • [分析] 加快堆栈跟踪的处理速度 #104674
  • [分析] 支持通用事件的下采样 #104730
  • [分析] 一致地使用分片请求缓存 #103643
Authentication
  • 公开API密钥认证指标 #103178
  • 公开领域认证指标 #104200
  • 公开服务账户认证指标 #104043
  • 公开令牌认证指标 #104142
  • 支持热重载的LDAP绑定密码 #104320
  • 支持Query API Key API的match #104594
Authorization
  • [安全解决方案] 允许在端点响应索引上为 kibana_system 角色授予写权限 #103555
CRUD
Client
  • 为查询用户API添加rest规范 #104529
Cluster Coordination
  • 将故障排除文档链接添加到 PeerFinder 日志 #104787
  • PeerFinder 中报告当前主节点 #104396
Data streams
  • 在数据流中引入映射更新的延迟滚动 #103309 (问题: #89346)
  • 在日志和指标数据流中使用新的 ignore_dynamic_beyond_limit #105180
  • X-pack/plugin/apm-data: 添加启用模板注册的动态设置 #104386 (问题: #104385)
  • X-pack/plugin/core: 重命名 double_metrics 模板 #103033
  • x-pack/plugin/apm-data: 向 traces-apm@mappings.yaml 添加新字段 transaction.profiler_stack_trace_ids #105223
  • x-pack/plugin/apm-data: 将一些APM字段映射为扁平化并修复 error.grouping_name 脚本 #103032
  • x-pack/plugin/core: 使自动滚动延迟 #105273 (问题: #104083)
Discovery-Plugins
Downsampling
  • 支持从8.12开始的补丁传输版本 #104406
ES|QL
  • 添加 ES|QL 异步删除 API #103628
  • 避免巨大的块 #103340
  • ESQL: 添加 TO_UPPER 和 TO_LOWER 函数 #104309
  • ESQL: 添加选项以删除空字段 #102428
  • ESQL: 在每个优化器之后添加计划一致性验证 #105371
  • ESQL: 从 _source 加载前检查字段是否存在 #103632
  • ESQL: 延迟查找字段加载基础设施 #103821
  • ESQL: 使用 vecs 扩展浅拷贝 #103681 (问题: #100528)
  • ESQL: 扩展 STATS 命令以支持聚合表达式 #104958
  • ESQL: 推断聚合字段不为空 #103673 (问题: #102787)
  • ESQL: stats 命令中的嵌套表达式 #104387 (问题: #99828)
  • ESQL: 在 TopNOperator 中预分配行 #104796
  • ESQL: 引用包含反引号的表达式需要 转义这些反引号#100740 (问题: #100312)
  • ESQL: 简化 IS NULL/IS NOT NULL 评估 #103099 (问题: #103097)
  • ESQL: 加快读取多个空值 #105088
  • ESQL: 支持从源加载形状到 WKB 块 #104269
  • ESQL: 跟踪其余的 DocVector #103727
  • ESQL: MV_FIRSTMV_LAST #103928
  • ESQL: 添加 date_diff 函数 #104118 (问题: #101942)
  • ESQL: 下推 "[text_field] is not null" #105593
  • ES|QL 异步查询 API #103398
  • 准备 enrich 计划以支持多集群 #104355
  • 从源读取点以减少精度损失 #103698
  • 移除已弃用的 Block API #103592
  • 在序列化页面之前保留字节 #105269
  • 支持 ST_CENTROID 在空间点上 #104218 (问题: #104656)
  • 在 ESQL 中支持跨集群查询 #101640
  • 在跨集群查询中支持 enrich ANY 模式 #104840
  • 支持 enrich 协调器模式 #104936
  • 支持 enrich 远程模式 #104993
Geo
  • 在空间字段的字段API中添加对已知二进制(WKB)的支持 #103461
  • 添加直接将WKT转换为WKB的可能性 #104030
Health
  • 将APM指标添加到HealthPeriodicLogger #102765
  • 扩展repository_integrity健康指示器以支持未知和无效的仓库 #104614 (问题: #103784)
ILM+SLM
  • 为缺失策略的ILM解释响应添加"step":"ERROR" #103720 (问题: #99030)
  • 将默认滚动条件添加到ILM解释API响应中 #104721 (问题: #103395)
  • ILM/SLM历史策略在热和dsl配置中强制合并 #103190
Infra/CLI
  • 将重放诊断目录添加到系统jvm选项 #103535
Infra/Circuit Breakers
  • 降低G1最小完全GC间隔 #105259
Infra/Core
Infra/Metrics
  • 修改线程池指标的名称以拒绝 #105015
Infra/Node Lifecycle
  • 在关闭时等待异步搜索完成 #101487
Infra/Transport API
  • 使 ParentTaskAssigningClient.getRemoteClusterClient 方法也返回 ParentTaskAssigningClient #100813
Ingest Node
  • 添加 ActionRequestLazyBuilder 实现 RequestBuilder #104927
  • 添加 RequestBuilder 接口 #104778
  • 为文档应用管道图时遇到的问题添加自定义异常 #105196
  • 改进 ingest simulate verbose API 的性能 #105265
  • Ingest geoip 处理器缓存数据库中的 无结果 #104092
  • 限制可以执行的嵌套管道的数量 #105428
  • 修改请求构建器 #104636
Java Low Level REST Client
  • 设置REST客户端使用的线程名称 #103160
Machine Learning
  • 添加可选的修剪配置(加权术语评分)到文本扩展查询 #102862
  • 添加带有多语言-e5和自定义eland模型的text_embedding推理服务 #104949
  • 为意外停止的pytorch_inference进程添加3次自动重启 #104433
  • 添加对Cohere推理服务的支持 #104559
  • 始终测试峰值和低谷以及变化点聚合中的变化 #103922
  • 对长文档应用窗口化和分块 #104363
  • 当PUT到_inference时自动下载ELSER模型 #104334
  • 在hardware_concurrency失败的情况下更好地处理pytorch_inference中的分配数量 #2607
  • 更改检测聚合改进 #102824
  • 有条件地发送dimensions字段作为openai请求的一部分 #105299 (问题: #105005)
  • 查找Grok模式匹配位置的端点 #104394
  • 确保推理模型和训练模型部署之间的唯一ID #103996
  • 通过APM公开一些ML指标 #102584
  • _inference API中使task_type可选 #104483
  • 更新missingTrainedModel消息以包括:您可能需要创建它 #104155
  • 在Linux x86_64上将MKL升级到2024.0版本 #2619
  • 将PyTorch升级到2.1.2版本。 #2588
  • 在Windows上将zlib升级到1.2.13版本 #2588
  • 使用Boost.JSON进行JSON处理 #2614
  • 验证推理模型ID #103669
Mapping
  • 添加 index.mapping.total_fields.ignore_dynamic_beyond_limit 设置以在达到字段限制时忽略动态字段 #96235
  • 使字段限制更具可预测性 #102885
Network
  • 从TransportNodesStatsAction.NodeStatsRequest中修剪不必要的信息 #102559 (问题: #100878)
Percolator
Query Languages
  • 引入 Alias.unwrap 方法 #104575
Search
  • 动态调整节点指标缓存过期 #104460
  • 增强功能:使用操作监听器的搜索耗时指标 #104996
  • 字段能力性能 pt2 #105941
  • 字段能力字段值查找使用映射而不是循环数组 #105770
  • _field_caps 中添加标志以仅返回索引中具有值的字段 #103651
  • 在基于自动机的查询中包含更好的分析输出和 toString #105468
  • 搜索延迟的指标 #102557
  • 计算搜索响应字节数的引用计数 #103763 (问题: #102657)
  • 移除 msearch 解析中的宽松处理 #103232
  • 解决集群 API #102726
  • 在其他模块中重用数字字段映射器测试 #99142 (问题: #92947)
  • S3 第一个字节延迟指标 #102435
  • 更新 S3 延迟指标以使用微秒 #103633
  • 升级到 Lucene 9.10.0 #105578
Security
  • 添加查询用户API #104033
  • ApiKey过期时间添加到审计日志 #103959
  • 为更新API密钥API添加过期时间 #103453
  • 为API密钥过期时间添加更严格的验证 #103973
  • 为查询API密钥API添加对simple_query_string的支持 #104132
  • 为查询API密钥API添加对type参数(用于排序)的支持 #104625
  • 查询API密钥信息API的聚合支持 #104895
  • 可热重载的远程集群凭据 #102798
Snapshot/Restore
Store
  • 默认情况下列出隐藏的分片存储 #103710
TLS
  • elasticsearch-certutil cert 现在验证生成的证书的签发链 #103948
TSDB
  • 提高TSDB中非度量字段的存储效率 #99747
  • 引入实验性的透传字段类型 #103648
  • 在对象中嵌套透传对象 #105062
  • 在需要排序执行时限制某些聚合的使用 #104665
  • 小的时间序列聚合改进 #106288
Transform
  • 允许转换再次使用远程集群的PIT #105192 (问题: #104518)
  • 转换:添加基本统计API参数 #104878
Vector Search
  • 添加新的 int8_flat 和 flat 向量索引类型 #104872
  • 在搜索嵌套向量时添加对多个 inner_hit 的支持 #104006
  • 使 knum_candidates 在 knn 搜索中可选 #101209 (问题: #97533)

新功能

edit
Data streams
  • 添加 require_data_stream 参数到索引请求中,以强制索引操作目标为数据流 #101872 (问题: #97032)
  • 当可用时,将失败的摄取节点操作重定向到失败存储 #103481
ES|QL
  • ESQL: 为 ENRICH 引入模式设置 #103949
  • ESQL: 添加 =~ 运算符(不区分大小写的相等性) #103656
Health
  • 创建一个DSL健康指示器作为健康API的一部分 #103130
Infra/Core
  • 添加gradle任务和代码以修改和访问版本ID与发布版本之间的映射 #103627
Mapping
Search
  • 添加了重复词检查功能到分析Nori #103325 (问题: #103321)
  • [同义词] 将同义词标记为GA #103223

升级

edit
Query Languages
Search