Elasticsearch 版本 8.5.0

edit

Elasticsearch 版本 8.5.0

edit

另请参阅 8.5 中的重大变更

已知问题

edit
  • 在8.5.0版本中,可能会无意中创建一个与索引同名的别名。此操作会使集群处于无效状态,导致多个功能无法正常工作,甚至可能无法在此状态下重启节点。请尽快升级到8.5.1以避免此风险(#91456)。如果您的集群受到此问题的影响,请升级到8.5.3进行修复(#91887)。
  • 如果自版本6.x以来未进行任何修改,则无法列出机器学习数据馈送

    如果您有一个在5.x或6.x版本中创建的数据馈送,并且自7.0版本以来未进行更新,则在8.4和8.5中无法列出数据馈送。这意味着无法使用Kibana管理异常检测作业。此问题已在8.6.0中修复。

    如果您使用这样的数据源升级到8.4或8.5,您需要通过使用这些步骤更新每个数据源的授权信息来解决问题。

  • 使用 settings.json 文件配置 Elasticsearch 的编排器在主节点选举期间可能会遇到死锁(问题:#92812

    要解决死锁问题,请删除settings.json文件并重启受影响的节点。

  • 解析请求时,如果数组中的最后一个元素被过滤掉(例如使用 _source_includes),则会失败。这是由于 Jackson 解析器中的一个错误。已在 Elasticsearch 8.6.1 中修复(#91456
  • 当使用ingest attachment processor时,Tika与log4j 2.18.0及更高版本(在Elasticsearch 8.4.0中引入)的交互会导致过多的日志记录。这种日志记录非常过多,以至于可能导致集群不稳定,甚至使集群无法使用,节点必须重新启动。(问题:#91964)。此问题已在Elasticsearch 8.7.0中修复(#93878

    要解决此问题,请升级到 8.7.0 或更高版本。

重大变更

edit
CRUD
  • 拒绝未知的批量操作 #89450

Bug 修复

edit
Aggregations
  • 修复 auto_date_histogram > ip_range #90317 (问题: #90121)
  • breadth_first 模式下重建计分器时失败,并且查询上下文已更改 #89993 (问题: #37650)
  • 修复与空结果合并的问题 #86939 (问题: #84622)
  • 修复 ip_prefix 中的部分减少错误 #89734 (问题: #89686)
  • 移除聚合响应中意外的元参数 #89467 (问题: #89455)
  • 一致地允许对大小大于1的 top_metrics 聚合进行排序 #89974 (问题: #86663)
  • 在分配空桶时检查父级断路器 #89568 (问题: #80789)
Authorization
  • 移除"__empty"角色的魔法字符串 #89766
CCR
  • 按原始名称对数据流的订单跟随者备份索引进行排序 #90850 (问题: #90820)
Cluster Coordination
  • 在批处理主任务中捕获弃用警告 #85525 (问题: #85506)
  • 在发送加入请求之前检查断路器 #89318 (问题: #85003)
Distributed
  • TransportClusterStateAction 分叉到 MANAGEMENT 线程池 #90996
Engine
  • 修复 "path.conf'" 拼写错误在 Security.java #89248 (问题: #89327)
Geo
  • 缓冲 H3Polygon2D 边界框以避免边缘精度问题 #89196 (问题: #89868, #87391)
  • 修复日期直方图范围边缘情况 #88957
  • 格式化运行时 geo_points #85449 (问题: #85245)
  • 如果脚本加载 _source 且启用了合成 _source,则生成错误 #88334
Graph
Health
  • 修改磁盘指示器详细信息以提供磁盘空间健康概览 #90189
  • 修复磁盘指示器的影响和诊断 #90262
  • 修复磁盘指示器详细信息的计算 #90869
  • 报告没有磁盘空间且没有被阻止索引的数据节点的影​​响和诊断数据 #90772 (问题: #90442)
  • 将健康节点报告的最低版本更新为8.5 #90365 (问题: #90359)
Indices APIs
  • 避免捕获每个任务的 RolloverResult #90626 (问题: #90620)
  • 修复 nested 的分片拆分 #89351 (问题: #88109)
Infra/Core
  • 修复特殊情况下 allow_no_indices 请求选项 #89622
  • 修复文件设置服务中的重复错误保存循环 #90271 (问题: #90222)
  • 修复日期四舍五入的日期数学解析 #90458 (问题: #90187)
  • 修复在 TrainedModelAssignmentNodeService 中禁用 CancellableTask 的APM跟踪 #90972 (问题: #89850)
  • 支持7.x索引上的驼峰式日期 #88914 (问题: #84199)
Infra/Scripting
  • 修复布尔值source回退中的真/假累积错误 #90895
Ingest Node
  • 仅设置一次富维护集群生命周期监听器 #90486
Machine Learning
  • 当存在多个可用区时,需要正确的层级处理器 #90903
  • 当open/start API超时时,返回408而不是500 #89775 (问题: #89585)
Mapping
  • 修复数值类型中source回退的重复问题 #89352
  • 在总字段计数中包含运行时字段 #89251 (问题: #88265)
  • 修复aggregate_metric_double多值异常 #90290
  • 当子对象被禁用时验证字段名称 #90950
Monitoring
  • 添加字段以修复 Logstash cgroup 图表 #90493
Network
  • 修复 RecyclerBytesStreamOutput 在某些容量下分配无限堆的问题 #90632
Recovery
  • 修复网络断开后恢复字节重复计数的问题 #90477 (问题: #90441)
Search
  • 在通配符字段上添加对预定义字符类正则表达式的支持 #90064
  • 去重获取doc-values字段 #89094
  • 不要为文本字段缩短总命中计数 #90341 (问题: #89760)
  • 防止RegExp使用时出现StackOverflowError #84624 (问题: #82923)
  • 使用MB而不是GB来计算最大布尔子句 #90309 (问题: #86136)
Snapshot/Restore
  • 修复当前快照API中失败的碎片计数不正确的问题 #89534
  • 修复在冷/冻结节点上挂载索引的过度分配问题 #86331
  • 修复SnapshotStatus序列化中的二次复杂度问题 #90795
  • 在传输线程上分叉构建快照状态响应 #90651
  • 确保在清除文件队列时解析监听器 #89929
  • 重新注册损坏的存储库以解除阻塞 #89719 (问题: #89130)
  • 在挂载API中拒绝未知请求体字段 #88987 (问题: #75982)
TSDS
  • 修复TSDS中的段统计信息 #89754 (问题: #89609)
  • 修复合成_sourceGET请求中的额外字段 #89778
  • 修复合成_sourcescaled_float四舍五入问题 #88916 (问题: #88854)
Transform
Vector Search
  • 修复了带有过滤别名的 kNN 的错误 #89621
Watcher
  • 允许动态设置 xpack.notification.email.account.domain_allowlist #90426 (问题: #89913)
  • 处理观察者启动时的超时异常 #90421 (问题: #44981)

弃用

edit
Infra/Plugins
  • 弃用网络插件 #88924
  • 弃用覆盖 DiscoveryPlugin 内部 #88925

增强功能

edit
Authentication
  • 为LDAP用户模式添加更准确的错误消息 #89492
Authorization
  • 向企业搜索服务帐户添加索引权限 #89869
  • 在拒绝消息中添加已解析角色的信息 #89680
Autoscaling
  • 集中处理器配置的概念 #89662
Cluster Coordination
  • 预先计算 RoutingNodes 和发布期间的索引查找 #89005
  • 在所有节点类型上预先初始化路由节点和索引查找 #89032
Distributed
  • 批量索引删除集群状态更新 #90033 (问题: #90022)
  • 将管理池的最小大小增加到 2 #90193
Health
  • 为健康API诊断和影响添加ID #90072
  • 在没有主节点且当前节点不具备主节点资格时,为主节点稳定性健康API添加检查 #89219
  • master_is_stable指示器添加逻辑以检查发现问题 #88020
  • 轮询集群诊断信息 #89014
  • 更新SLM健康诊断消息以包含不健康的策略详细信息 #89138
Highlighting
  • 提高 BoundedBreakIteratorScanner 分片算法的效率 #89041 (问题: #73569, #73785)
ILM+SLM
  • 为下采样ILM操作添加验证 #90295
  • 确保ILM不会对空索引进行滚动更新 #89557 (问题: #86203)
  • 在生命周期步骤中重用信息性消息 #89419
  • 将日志相关逻辑移入IndexLifecycleRunner中的日志块 #89292
Infra/Core
  • 添加保留的 /_snapshot/repo 文件基础设置 #89601
  • 添加 upgrade_status 属性到 Fleet Agents #89845
  • 添加对 /_autoscaling/policy 的文件基础设置支持 #89708
  • 添加对 /_security/role_mapping 的文件基础设置支持 #89667
  • 添加对 /_slm/policy 的文件基础设置支持 #89567
  • 重试文件监视注册 #90537 (问题: #89500)
Infra/Node Lifecycle
  • NodeShutdownAllocationDecider中区分无关闭情况 #89851 (问题: #89823)
Infra/Plugins
  • 为已弃用的插件API添加弃用消息 #88961
  • ActionModule中注册稳定的插件 #90067
  • 加载插件命名组件 #89969
Infra/Scripting
  • 初始代码以支持二进制表达式脚本 #89895
  • 保护 _source 在更新脚本中 #88733
  • 重新索引和 UpdateByQuery 元数据 #88665
  • 添加写入字段 API NestedDocument 支持 #90021
  • 添加写入字段 API 路径操作 #89889
  • 添加写入字段 API 基本路径解析 #89738
  • 为重新索引、更新和按查询更新添加写入字段 API #90145
Infra/Settings
  • 引入磁盘水印阶段的最大净空 #88639 (问题: #81406)
License
  • 用户配置文件协作功能的许可证检查 #89990
Machine Learning
  • 添加非缓存命中推理计数度量 #90464
  • 添加新的 text_similarity 自然语言处理任务 #88439
  • 添加新的训练模型部署缓存清除API #89074
  • 添加处理器自动扩展决策器 #89645
  • 在可用区之间分配训练模型分配 #89822
  • 使用位集进行频繁项的去重 #88943
  • 优化频繁项的事务查找 #89062
  • 将本地推理功能作为测试版发布 #90418
  • 当启动部署API超时时返回 408 #89612
  • 在调用节点关闭API后跳过重新归一化 #89347
  • 通过Gateaux导数计算离群特征影响,以改善高维向量的归因 #2256
  • 改进具有许多数值特征的数据集的分类和回归模型训练运行时间 #2380, #2388, #2390, #2401
  • 将训练分类模型的最大类别数限制增加到 100 #2395 (问题: #2246)
Mapping
  • aggregate_metric_double 字段添加 synthetic_source 支持 #88909
  • 为使用操作的 keyword 字段添加 source 回退 #88735
  • match_only_text 映射类型添加 source 回退支持 #89473
  • 为日期和 date_nanos 映射类型添加 source 回退支持 #89440
  • 为无符号长整型映射类型添加 source 回退支持 #89349
  • 为缩放浮点字段类型添加 source 回退支持 #89053
  • 为布尔字段类型添加 source 回退支持 #89052
  • 在 Painless 脚本字段 API 中添加文本字段支持 #89396
  • 澄清文本字段不支持 fielddata 的错误消息 #89770 (问题: #89485)
  • 为 Fleet Agent 的 last_checkin_message 和组件字段添加新映射 #89599
  • 支持 byteshortlong 字段的 source 回退 #88954
  • 支持 doublefloathalf_float 字段类型的 source 回退 #89010
Network
  • 对大型REST响应使用分块REST序列化 #88311
Recovery
  • 禁用从可搜索快照中恢复 #86388
SQL
  • 实现 DATE_FORMAT 函数 #88388 (问题: #55065)
  • 当不需要时将 track_total_hits 设置为 false #89106 (问题: #88764)
Search
  • 为非数据流索引的_id启用BloomFilter #88409
  • 在字段功能API中,重新支持请求体中的字段 #88972 (问题: #86875)
Security
  • 为用户配置文件添加使用统计报告 #90123
  • 为用户配置文件激活实现宽限期 #89566
  • 在Get/QueryApiKey响应中返回受角色限制的描述符 #89273
  • GetUser响应中添加返回配置文件UID的选项 #89570
  • 对于使用API密钥的GetUserPrivileges调用返回400错误 #89333
  • 在Get/QueryApiKey响应中显示分配的角色描述符 #89166
  • hasPrivileges响应中添加详细错误信息 #89224
  • GetProfile API添加对多个UID的支持 #89023
Snapshot/Restore
  • 添加对比较 SnapshotsInProgress 的支持 #89619 (问题: #88732)
  • 优先处理分片快照任务而非文件快照任务,并限制同时运行的快照任务数量 #88209 (问题: #83408)
Stats
  • 引入节点映射统计信息 #89807
TSDS
  • 支持合成_sourcematch_only_text #89516
  • 支持合成_source的直方图字段 #89833
  • 支持合成_source的版本字段类型 #89706
  • 无需重新解析即可构建_id #88789
  • 在字段能力API中返回度量字段 #88695
Transform
  • 添加一个无人值守模式设置以转换 #89212

新功能

edit
Authorization
  • 引入新的 read_security 集群权限 #89790 (问题: #89245)
Health
  • 启用健康节点和磁盘健康指示器 #90085 (问题: #84811)
Infra/Core
  • 使用OpenTelemetry和APM Java代理提供跟踪实现 #88443 (问题: #84369)
Infra/Plugins
  • 添加稳定的插件API模块和分析接口 #88775
Machine Learning
  • 使 bucket_correlation 聚合功能普遍可用 #88655
  • 使 bucket_count_ks_test 聚合功能普遍可用 #88657
Security
  • 支持批量更新API密钥 #88856
TSDS
  • TimeSeriesIndexSearcher 添加 TSID 全局序号 #90035
  • 发布时间序列数据流功能 #90116 (问题: #74660)
  • keyword 字段上的 ignore_above 参数添加合成 _source 支持 #89466
Vector Search
  • dense_vector 添加合成 _source 支持 #89840

回归

edit
Infra/Scripting
  • 修复字段API缓存回归 #90017

升级

edit
Client
  • 将Apache Commons Logging升级到1.2 #85745 (问题: #40305)
Packaging
  • 将捆绑的JDK升级到Java 19 #90571