重大变更策略
编辑重大变更策略
编辑Java API 客户端源代码是从Elasticsearch API 的正式规范生成的。此 API 规范很大,尽管它针对数百个 Elasticsearch 测试文件进行了测试,但它可能与实际 API 存在差异,从而导致 Java API 客户端出现问题。
修复 API 规范中的这些差异会导致 Java API 客户端中的代码更改,而其中一些更改可能需要更新应用程序中的代码。
本节介绍如何在 Java API 客户端版本中考虑这些重大更改。
补丁版本中的重大变更
编辑API 规范中的一些问题是属性类型不正确,例如应为string
的long
,或实际上是可选的必需属性。这些问题可能导致 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 客户端中。