迁移到 8.13

edit

本节讨论在将应用程序迁移到 Elasticsearch 8.13 时需要注意的更改。

参见 9.0 的新特性发行说明

将于8.13.0版本推出。

重大变更

edit

8.13 版本没有重大变更。

显著变化

edit

以下是需要注意的显著的非破坏性更新:

  • 对处于技术预览版的功能的更改。
  • 对日志格式的更改。
  • 对非公开API的更改。
  • 修复关键错误的行为更改。

索引设置变更

edit
index.look_ahead_time 索引设置的默认值从 2 小时更改为 30 分钟。

详情
index.look_ahead_time 索引设置的最大值从 2 小时降低到 30 分钟。

影响
包含未来30分钟或更长时间的@timestamp的文档将被拒绝。在此之前,包含未来2小时或更长时间的@timestamp的文档会被拒绝。如果需要保持之前的行为,请在执行升级前将index.look_ahead_time设置更新为两小时。

降低look_ahead_time索引设置的最大值

详情
look_ahead_time 索引设置的最大值从7天降低到2小时。

影响
任何介于2小时和7天之间的值都将被视为2小时的提前时间

REST API 变更

edit
ESQL: 语法 - FROM METADATA 不再需要 []

详情
在FROM命令语句中移除METADATA选项的[ ]

影响
以前要返回元数据字段,必须使用方括号:(例如 FROM index [METADATA _index])。现在不再需要:方括号被去掉,不需要再指定,从而简化了上述命令为:'FROM index METADATA _index'。

ES|QL: 从语法中移除PROJECT关键字

详情
从ES|QL语法中移除PROJECT关键字(KEEP的别名)

影响
在此更改之前,用户可以在ESQL查询中使用PROJECT作为KEEP的别名,(例如 FROM idx | PROJECT name, surname)解析器会将PROJECT替换为KEEP,并发出警告:PROJECT命令不再受支持,请改用KEEP,查询会正常执行。在此更改之后,查询解析器不再识别PROJECT命令;使用PROJECT命令的查询现在会返回解析异常。

[ESQL] 移除 is_nan、is_finite 和 is_infinite

详情
移除函数 is_nan, is_finite, 和 is_infinite

影响
尝试使用上述函数现在会导致规划器时间错误。这些函数不再被支持。

弃用

edit

以下功能在Elasticsearch 8.13中已被弃用,并将在未来的版本中移除。 虽然这不会对您的应用程序产生直接影响, 我们强烈建议您在升级到8.13后采取所述步骤更新您的代码。

要了解是否使用了任何已弃用的功能,请启用弃用日志记录

集群和节点设置弃用

edit
弃用 client.type

详情
节点设置 client.type 自 8.0 版本中移除节点客户端后已被忽略。该设置现已弃用,并将在未来的版本中移除。

影响
elasticsearch.yml中移除client.type设置

REST API 弃用

edit
DesiredNode: 弃用 node_version 字段,并使其在当前版本中可选

详情
desired_node API 包含一个 node_version 字段,用于对所需的新节点版本执行验证。这种检查过于宽泛,最好由外部逻辑完成,因此它已被移除,使得 node_version 字段不再必要。该字段将在后续版本中移除。

影响
用户应更新其对 desired_node 的使用,不再包含 node_version 字段。