迁移到 8.1

edit

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

参见 9.0 的新特性发行说明

重大变更

edit

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

REST API 变更

edit
搜索API的fields参数现在可以规范化跨越国际日期线的几何对象

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

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

弃用

edit

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

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

集群和节点设置的弃用

edit
已弃用discovery.type设置的旧值

详情
discovery.type 设置的旧值已被弃用,并将在未来的版本中被禁止。

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

REST API 弃用

edit
批量操作的宽松解析已被弃用

详情
旧版本的 Elasticsearch 对批量请求的操作行解析非常宽松,会静默忽略无效或格式错误的操作。这种宽容性已被弃用,未来的版本将拒绝包含无效操作的批量请求。

影响
确保批量操作是包含单个条目的格式正确的JSON对象,并具有正确的键。

弃用_sql API中的index_include_frozen请求参数

详情
随着冻结索引的弃用,index_include_frozen参数和FROZEN语法现在也被弃用了。

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