从旧版 Elasticsearch 版本读取索引
编辑从旧版 Elasticsearch 版本读取索引编辑
Elasticsearch 对在先前主要版本中创建的索引提供完整的查询和写入支持。如果您有在 Elasticsearch 版本 5 或 6 中创建的索引,您现在可以使用存档功能将它们导入到更新的 Elasticsearch 版本中。
存档功能为旧版 Elasticsearch 数据提供较慢的只读访问,用于合规性或监管目的、偶尔的回溯或调查,或重新水化部分数据。对数据的访问预计将不频繁,因此可以以有限的性能和查询能力进行。
为此,Elasticsearch 能够访问旧的快照存储库(追溯到版本 5)。快照存储库 中的旧版索引可以被恢复,也可以通过可搜索快照 直接访问,这样存档数据甚至不需要完全驻留在本地磁盘上即可访问。
支持的字段类型编辑
旧映射尽可能“按原样”导入到 Elasticsearch 8 中,但只对选定字段子集提供常规查询功能
- 数值类型
-
boolean
类型 -
ip
类型 -
geo_point
类型 -
date
类型:日期字段上的format
设置只要在这些版本之间行为相似,就会得到支持。如果并非如此,例如使用自定义日期格式时,可以在旧版索引上更新此字段,以便用户在需要时可以更改它。 -
keyword
类型:关键字字段上的normalizer
设置只要在这些版本之间行为相似,就会得到支持。如果并非如此,可以在需要时在旧版索引上更新此字段。 -
text
类型:评分功能有限,所有查询返回的常量分数都等于 1.0。文本字段上的analyzer
设置只要在这些版本之间行为相似,就会得到支持。如果并非如此,可以在需要时在旧版索引上更新它们。 - 多字段
- 字段别名
-
object
字段 - 一些基本元数据字段,例如用于查询 Elasticsearch 5 索引的
_type
- 运行时字段
-
_source
字段
具有多个映射类型 的映射的 Elasticsearch 5 索引在导入之前会尽力合并在一起。
如果映射的自动导入不起作用,或者新的 Elasticsearch 版本无法理解映射,它将回退到在没有映射的情况下导入索引,但将原始映射存储在导入索引的_meta 部分中。然后可以使用GET 映射 API 反查旧版映射,可以使用更新映射 API 手动放置更新的映射,复制和调整旧版映射的相关部分以适应当前的 Elasticsearch 版本。虽然自动导入预计在大多数情况下都能正常工作,但如果出现故障,应向 Elastic 团队报告,以便将来改进。
支持的 API编辑
存档索引是只读的,并通过搜索 和字段功能 API 提供数据访问。它们不支持获取 API 也不支持任何写入 API。
存档索引允许运行查询以及聚合,只要它们受给定字段类型支持。
由于_source
访问,数据也可以重新索引 到具有与当前 Elasticsearch 版本完全兼容性的新索引中。
如何升级旧版 Elasticsearch 5 或 6 集群?编辑
对旧集群中的索引进行快照,删除 ES 8 不直接支持的索引(即早于 7.0 的索引),在没有旧索引的情况下升级集群,然后恢复 快照中的旧版索引或通过可搜索快照挂载 它们。
将来,我们计划简化升级流程,使将旧版索引一起迁移到未来的主要 Elasticsearch 版本变得更加容易。