重大变更策略

编辑

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 客户端中。