重大变更策略编辑

Java API 客户端源代码是从 Elasticsearch API 的正式规范 生成的。此 API 规范很大,尽管它已针对数百个 Elasticsearch 测试文件进行了测试,但它可能与实际 API 存在差异,从而导致 Java API 客户端出现问题。

修复 API 规范中的这些差异会导致 Java API 客户端中的代码更改,而其中一些更改可能需要在您的应用程序中更新代码。

本节说明如何考虑将这些重大变更纳入 Java API 客户端版本。

补丁版本中的重大变更编辑

API 规范中的一些问题是具有不正确类型的属性,例如应为 stringlong,或实际上是可选的必需属性。这些问题会导致 Java API 客户端无法正常工作,甚至抛出异常。

当发现并解决规范问题时,可能需要在使用 Java API 客户端的应用程序中更新代码。此类重大变更被认为是可以接受的,即使在补丁版本中也是如此(例如 7.17.0 → 7.17.1),因为它们为可能无法使用的 API 引入了稳定性。

次要版本中的重大变更编辑

除了这些错误修复之外,API 规范还在不断完善,引入了更精确的类型定义,以提高开发人员的舒适度并消除歧义。常用 API 的规范相当成熟,因此这些更改通常发生在较少使用的 API 上。这些更改也可能导致需要更新代码的重大变更,这些变更被认为在次要版本中是可以接受的(例如 8.0 → 8.1)。

主要版本中的重大变更编辑

主要版本(例如 7.x → 8.x)可能包括对 API 规范和 Java API 客户端基础框架的较大重构。这些重构经过仔细考虑,仅在它们解锁新的重要功能或新开发时才进行。

Elasticsearch API 稳定性保证编辑

所有 Elasticsearch API 都有稳定性指标,这意味着可能发生变化。如果 API 是 stable,则只会添加额外的非破坏性更改。如果 API 是 experimental,则随时可能引入重大变更,这意味着这些变更也会反映在 Java API 客户端中。