迁移到 8.5
编辑迁移到 8.5
编辑本节讨论将应用程序迁移到 Elasticsearch 8.5 时需要注意的更改。
另请参阅8.17 中的新增功能和发行说明。
重大更改
编辑Elasticsearch 8.5 中的以下更改可能会影响您的应用程序并阻止它们正常运行。升级到 8.5 之前,请查看这些更改并采取描述的步骤来减轻影响。
REST API 更改
编辑批量 API 现在拒绝包含无法识别的操作的请求
详细信息
对批量 API 的请求包含一系列项目,每个项目都以描述该项目的 JSON 对象开头。此对象包含要对项目执行的操作类型,该类型应为 create
、update
、index
或 delete
。早期版本的 Elasticsearch 有一个错误,导致它们忽略具有无法识别类型的项目,跳过请求中的下一行,但这种宽松的行为意味着客户端无法将响应中的项目与请求中的项目相关联,并且在某些情况下会导致请求的其余部分解析不正确。
从 8.5 版本开始,对批量 API 的请求必须仅包含具有可识别类型的项目。Elasticsearch 将拒绝包含任何具有无法识别类型的项目的请求,并返回 400 Bad Request
错误响应。
我们认为此更改是错误修复,但在此处将其列为重大更改,因为它可能会影响依赖于能够向 Elasticsearch 发送无法识别的操作的应用程序的行为。
影响
确保您的应用程序仅向批量 API 发送类型为 create
、update
、index
或 delete
的项目。
弃用
编辑以下功能已在 Elasticsearch 8.5 中弃用,并将在未来的版本中删除。虽然这不会对您的应用程序产生直接影响,但我们强烈建议您在升级到 8.5 后采取所述步骤来更新您的代码。
要了解您是否正在使用任何已弃用的功能,请启用弃用日志。
插件 API 弃用
编辑详细信息
详细信息
插件可能会覆盖控制节点如何通过 TCP/IP 与其他节点连接的功能。这些插件扩展了 NetworkPlugin 接口。在下一个主要版本中,这些插件将无法安装。
影响
停止使用任何扩展 NetworkPlugin 的插件。您可以通过检查 Elasticsearch 弃用日志来查看是否有任何插件使用了已弃用的功能。
扩展 DiscoveryPlugin 以覆盖 join 验证器或选举策略已弃用
详细信息
扩展 DiscoveryPlugin 的插件可能会覆盖 getJoinValidator 和 getElectionStrategies。这些方法是 Elasticsearch 中集群机制的实现细节。不应覆盖它们。在下一个主要版本中,覆盖 getJoinValidator 或 getElectionStrategies 的插件将无法安装。
影响
停止使用任何在 DiscoveryPlugin 中覆盖 getJoinValidator 或 getElectionStrategies 的插件。您可以通过检查 Elasticsearch 弃用日志来查看是否有任何插件使用了已弃用的功能。