迁移到 8.1编辑

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

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

重大更改编辑

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 关键字。对于某些用例,冻结层可能是冻结索引的合适替代品。有关更多信息,请参阅 数据层