Elasticsearch 版本 8.14.0

edit

Elasticsearch 版本 8.14.0

edit

另请参阅 8.14 中的重大变更

重大变更

edit
Security
  • 如果分配了replication,则防止DLS/FLS #108600
  • 对带有rewrite参数的validate query API应用更严格的文档级安全(DLS)规则 #105709
  • 当min_doc_count设置为0时,对术语聚合应用更严格的文档级安全(DLS)规则 #105714

已知问题

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

Bug 修复

edit
Aggregations
  • 当索引访问控制列表非空时,交叉检查livedocs中的术语聚合 #105714
  • ESQL: 启用日期时间的VALUES聚合 #107016
  • 修复使用过滤器时TTest聚合中的IOOBE #109034
  • 在标准InternalStats构造函数中验证统计格式 #107678 (问题: #107671)
Application
  • [Bug修复] Connector API - 修复 termquery 中的状态序列化问题 #108365
  • [Connector API] 修复过滤验证 toXContent 的错误 #107467
  • [Connector API] 修复解析 *_doc_count 可空字段的错误 #108854
  • [Connector API] 修复访问控制同步目标索引错误的错误 #109097
Authorization
  • 具有监控权限的用户可以访问async_search/status端点,即使在设置keep_alive时 #107383
CAT APIs
CCR
  • 添加 ?master_timeout 查询参数到 ccr apis #105168
CRUD
  • 修复 noop_update_total 在使用 _bulk 时未更新的问题 #105745 (问题: #105742)
  • 使用正确的系统索引批量执行器 #106150
Cluster Coordination
  • 修复对无限?master_timeout的支持 #107050
Data streams
  • 将非索引字段添加到ecs模板 #106714
  • 修复集群块后重试失败重定向时的批量NPE #107598
  • 改进滚动DS别名时的错误消息 #106708 (问题: #106137)
  • 仅在作为DSL保留的一部分进行下采样时跳过删除下采样索引 #109020
Downsampling
EQL
  • SequenceMatcher 中向断路器添加负字节数时使用 #addWithoutBreaking #107655
ES|QL
  • ESQL: 允许在聚合中重用 BUCKET 分组表达式 #107578
  • ESQL: 禁用 FROM 命令中的引号 #108431
  • ESQL: 修复使用索引数据时的 MV_DEDUPE 问题 #107577 (问题: #104745)
  • ESQL: 修复无法解析聚合分组时的错误消息 #108101 (问题: #108053)
  • ESQL: 修复在 COUNT 下推中将所有字段视为 MV 的问题 #106720
  • ESQL: 重新启用逻辑依赖检查 #105860
  • ESQL: 常量上的中位数、计数和 count_distinct #107414 (问题: #105248, #104900)
  • ES|QL 修复带有补充(4 字节)字符的无长度子字符串问题 #107183
  • ES|QL: 修复 IN 运算符与 TEXT 字段的使用问题 #106654 (问题: #105379)
  • ES|QL: 改进函数中对 TEXT 字段的支持 #106810
  • 修复可变函数签名的文档生成问题 #107865
  • [ESQL] 标记 date_diff 需要所有三个参数 #108834 (问题: #108383)
Health
Highlighting
  • 检查 preTags 和 postTags 参数的空值 #106396 (问题: #69009)
  • 为 Unified Highlighter 中的不一致文本修剪添加修复 #99961 (问题: #101803)
Infra/CLI
  • 解决JDK 22和22.0.1的G1错误 #108571
Infra/Core
  • 添加对同一特性被声明为常规和历史记录的检查 #106285
  • 修复 AffixSetting.exists 以包含安全设置 #106745
  • 修复获取索引设置(human=true)中的回归问题,其中版本未以人类可读格式显示 #107447
  • Nativeaccess: 尝试加载所有找到的 libsystemds #108238 (问题: #107878)
  • 更新对 IndexVersion.toString 的多个引用以使用 toReleaseVersion #107828 (问题: #107821)
  • 更新对 TransportVersion.toString 的多个引用以使用 toReleaseVersion #107902
Infra/Logging
  • 使用 addAffixMapUpdateConsumer 更新 AffixSetting 时的日志 #97072
Infra/Node Lifecycle
  • 在计算关闭状态下的分片副本时考虑ShardRouting角色 #106063
  • 默认情况下,在关闭时无限期等待http连接 #106511
Infra/Scripting
  • 防止在无痛执行中出现空评分器 #109048 (问题: #43541)
  • Painless: 在FIND和MATCH操作中应用真正的正则表达式限制因子 #105670
Ingest Node
  • 捕获来自GsubProcessor中错误正则表达式的StackOverflowErrors #106851
  • 修复uri_parts处理器在缺少扩展名时的行为 #105689 (问题: #105612)
  • 从企业geoip文档中移除前导的is_前缀 #108518
  • 稍微改进geoip的databaseType验证 #106889
License
Machine Learning
  • 修复ML分配通知器中的NPE #107312
  • 修复XLMRoBERTa分词器中startOffset必须为非负数的错误 #107891 (问题: #104626)
  • 修复当兄弟聚合包含空桶时,峰值、下降和分布变化桶的位置 #106472
  • 使OpenAI嵌入解析器更加灵活 #106808
Mapping
  • 在术语查询中去除重复术语 #106381
  • allowedFields 的支持扩展到 getMatchingFieldNamesgetAllFields #106862
  • 修复名为“properties”的字段的原始映射合并问题 #108867 (问题: #108866)
  • 在缩放浮点字段的合成源构建期间处理无穷大 #107494 (问题: #107101)
  • 处理具有深层嵌套的传递子字段 #106767
  • 将“模式过于复杂”的异常包装到 IllegalArgumentException#109173
Network
  • 修复HTTP边缘情况响应泄漏 #105617
Search
  • Add internalClusterTest for and fix leak in ExpandSearchPhase #108562 (issue: #108369)
  • Avoid attempting to load the same empty field twice in fetch phase #107551
  • Bugfix: Disable eager loading BitSetFilterCache on Indexing Nodes #105791
  • Cross-cluster painless/execute actions should check permissions only on target remote cluster #105360
  • Fix error 500 on invalid ParentIdQuery #105693 (issue: #105366)
  • Fix range queries for float/half_float fields when bounds are out of type’s range #106691
  • Fixing NPE when requesting [none] for stored_fields #104711
  • Fork when handling remote field-caps responses #107370
  • Handle parallel calls to createWeight when profiling is on #108041 (issues: #104131, #104235)
  • Harden field-caps request dispatcher #108736
  • Replace UnsupportedOperationException with IllegalArgumentException for non-existing columns #107038
  • Unable to retrieve multiple stored field values #106575
  • Validate model_id is required when using the learning_to_rank rescorer #107743
Security
  • Disable validate when rewrite parameter is sent and the index access control list is non-null #105709
  • Fix field caps and field level security #106731
Snapshot/Restore
  • 修复分片快照的双重暂停 #109148 (问题: #109143)
  • AzureBlobStore 中将404视为空注册 #108900 (问题: #108504)
  • SharedBlobCacheService.maybeFetchRegion 应使用 computeCacheFileRegionSize #106685
TSDB
  • 创建tsid时翻转动态映射条件 #105636
Transform
Vector Search
  • 修复 lib vec 中的多线程复制 #108802
  • [8.14] 修复 lib vec 中的多线程复制 #108810

弃用

edit
Mapping
  • 弃用允许在忽略fields的场景中使用它 #106031

增强功能

edit
Aggregations
  • 添加一个由 BigArrays 支持的 PriorityQueue #106361
  • 全新的 shard_seed 参数用于 random_sampler 聚合 #104830
Allocation
  • 添加分配统计信息 #105894
  • 将索引预测添加到 /_cat/allocation 输出 #97561
Application
  • [分析] 添加 TopN 函数 API #106860
  • [分析] 允许覆盖索引设置 #106172
  • [分析] 加快火焰图的序列化速度 #105779
Authentication
  • Support Profile Activate with JWTs with client authn #105439 (issue: #105342)
Authorization
  • 允许用户获取自己的异步搜索任务状态 #106638
  • [安全解决方案] 为 kibana_system 添加第三方代理索引的 read 权限 #107046
Data streams
  • 将数据流生命周期添加到kibana报告模板 #106259
ES|QL
  • 添加 ES|QL Locate 函数 #106899 (问题: #106818)
  • 添加 ES|QL signum 函数 #106866
  • 为 enrich 操作符添加状态 #106036
  • 添加两个新的 OGC 函数 ST_X 和 ST_Y #105768
  • 调整 block builder 中的数组调整大小 #106934
  • 在 ESQL 中批量加载 enrich 字段 #106796
  • ENRICH 对 TEXT 字段的支持 #106435 (问题: #105384)
  • ESQL: 为许多状态结果添加计时器 #105421
  • ESQL: 允许在 stats 表达式中使用分组键 #106579
  • ESQL: 引入表达式验证阶段 #105477 (问题: #105425)
  • ESQL: 在调试级别记录查询 #108257
  • ESQL: 正则表达式改进 #106429
  • ESQL: 常量的总和 #105454
  • ESQL: 支持 ST_DISJOINT #107007
  • ESQL: 支持部分折叠 CASE #106094
  • ESQL: 使用更快的字段 caps #105067
  • ESQL: 扩展 BUCKET 以支持 spans #107272
  • ESQL: 在数据节点上执行归约操作 #106516
  • 扩展 ENRICH 对 ES ingest 处理器支持的完整集合的支持 #106186 (问题: #106162)
  • 引入 ordinal bytesref block #106852 (问题: #106387)
  • 在 enrich lookup 中利用序号 #107449
  • 序列化大数组块 #106373
  • 序列化大数组向量 #106327
  • ArrayVectors 专门化序列化 #105893
  • 专门化数组块的序列化 #106102
  • 加快 BytesRefArray 的序列化速度 #106053
  • 支持 ST_CONTAINS 和 ST_WITHIN #106503
  • 支持几何列与其他几何或字符串之间的 ST_INTERSECTS #104907 (问题: #104874)
Engine
  • 添加用于计算排除等待锁定的索引刷新时间的指标 #107196
Highlighting
  • 在字段级别启用编码器标签模式高亮设置 #107224 (问题: #94028)
ILM+SLM
  • 在ILM收缩操作后,添加一个标志以重新启用最终索引的写入。#107121 (问题: #106599)
Indices APIs
  • 永远等待IndexTemplateRegistry资产安装 #105985
Infra/CLI
  • 增强搜索层GC选项 #106526
  • 增加KeyStoreWrapper中的KDF迭代次数 #107107
Infra/Core
  • NodeMetadata 中添加可插入的 BuildVersion #105757
Infra/Metrics
  • 用于计量更新请求的基础设施 #105063
  • DocumentParsingObserver 接受一个 indexName 以允许跳过系统索引 #107041
Infra/Scripting
Ingest Node
  • 在geoip处理器中添加对匿名IP数据库的支持 #107287 (问题: #90789)
  • 在geoip处理器中添加对企业数据库的支持 #107377
  • 在geoip统计API中添加cache_stats #107334
  • 在丰富策略索引中支持数据流 #107291 (问题: #98836)
Machine Learning
  • 为所有推理端点添加 GET _inference #107517
  • 为推理 API 添加了超时参数 #107242
  • 启用对 Cohere 文本嵌入 API 的 500 错误响应的重试 #105797
Mapping
  • 将 int8_hnsw 设为我们新密集向量字段的默认索引 #106836
Ranking
  • 使用仅解析器的方法添加检索器 #105470
Search
  • 添加Lucene西班牙语复数词干提取器 #106952
  • KnnVectorQueryBuilder添加modelIdmodelText #106068
  • 为int8添加SIMD(Neon)优化的向量距离函数 #106133
  • 为搜索负载自动扩展添加传输版本 #106377
  • 使用minimize_roundtrips的CCS对每个SearchResponse执行增量合并 #105781
  • 跟踪正在进行的搜索任务 #107129
Security
  • 使跨集群API密钥失效需要manage_security #107411
  • 显示返回的API密钥的所有者realm_type #105629
Snapshot/Restore
  • 为S3的最大连接数添加设置 #107533
  • 通过日志级别区分不同的快照失败 #105622
Stats
  • (API+) CAT Nodes 别名为 shard header 以匹配 CAT Allocation #105847
  • 在文档统计中添加总字节大小 #106840 (问题: #97670)
TSDB
  • 改进短路下采样执行 #106563
  • 支持在TSDB中将非关键字维度作为路由字段 #105501
  • 文本字段默认存储在TSDB索引中 #106338 (问题: #97039)
Transform
  • 在失败前检查节点关闭 #107358 (问题: #100891)
  • 当转换已经失败时,不要在节点重启时记录错误 #106171 (问题: #106168)

新功能

edit
Application
  • 允许 typed_keys 用于搜索应用程序搜索 API #108007
  • [Connector API] 支持在删除连接器时清理同步作业 #107253
ES|QL
  • ESQL: 值聚合函数 #106065 (问题: #103600)
  • ESQL: 允许按表达式排序,而不仅仅是常规字段 #107158
  • 支持通过 NodeClient::execute 执行 ES|QL 请求 #106244
Indices APIs
  • 向别名操作响应添加细粒度错误列表 #106514 (问题: #94478)
Machine Learning
  • 将Cohere重新排序添加到_inference服务 #106378
  • 为推理服务添加对Azure OpenAI嵌入的支持 #107178
  • 创建基于默认单词的分块器 #107303
  • 文本结构端点,用于确定消息列表和索引字段的结构 #105660
Mapping
Security
  • 获取并查询带有配置文件uid的API密钥 #106531
Vector Search
  • 在knn-search中添加对十六进制编码字节向量的支持 #105393

升级

edit
Infra/Core
Ingest Node
  • 在摄取附件插件中将tika版本更新到2.9.1 #106315
Network
Packaging
  • 将捆绑的JDK更新到Java 22(再次) #108654