迁移到 8.1

编辑

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

另请参阅 8.17 中的新功能发行说明

重大更改

编辑

Elasticsearch 8.1 中的以下更改可能会影响您的应用程序并阻止其正常运行。在升级到 8.1 之前,请查看这些更改并采取所述步骤来减轻影响。

REST API 更改

编辑
搜索 API 的 fields 参数现在会规范化跨越国际日期变更线的几何对象

详细信息
搜索 API 的 fields 参数现在会规范化跨越国际日期变更线(+/-180° 经度)的 geo_shape 对象。例如,如果一个多边形跨越日期变更线,fields 参数会将其作为两个多边形返回。您仍然可以从 _source 中检索原始的、未规范化的几何对象。

影响
如果您的应用程序需要未规范化的几何对象,请从 _source 中检索它们,而不是使用 fields 参数。

弃用

编辑

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

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

集群和节点设置弃用

编辑
discovery.type 设置的旧值已弃用

详细信息
discovery.type 设置的旧值已弃用,并且将在未来的版本中禁用。

影响
不要将 discovery.type 设置为 single-nodemulti-node 之外的任何值。所有其他值都等效于默认发现类型,即 multi-node。在可能的情况下,请省略此设置,以便 Elasticsearch 使用默认发现类型。

REST API 弃用

编辑
批量操作的宽松解析已弃用

详细信息
旧版本的 Elasticsearch 对批量请求的操作行进行非常宽松的解析,并且会静默忽略无效或格式错误的操作。此宽松行为已弃用,未来的版本将拒绝包含无效操作的批量请求。

影响
确保批量操作是格式良好的 JSON 对象,其中包含带有正确键的单个条目。

弃用 _sql API 中的 index_include_frozen 请求参数

详细信息
在弃用冻结索引之后,index_include_frozen 参数和 FROZEN 语法现在也被弃用。

影响
您应该使用 解冻索引 API 解冻冻结索引,并停止在 SQL 查询中使用 index_include_frozen 参数或 FROZEN 关键字。对于某些用例,冻结层可能是冻结索引的合适替代方案。有关更多信息,请参阅 数据层