从旧版 Elasticsearch 版本读取索引
edit从旧版 Elasticsearch 版本读取索引
editElasticsearch 完全支持在前一个主要版本中创建的索引的查询和写入。如果你有在 Elasticsearch 版本 5 或 6 中创建的索引,你现在也可以使用归档功能将它们导入到更新的 Elasticsearch 版本中。
归档功能为旧的 Elasticsearch 数据提供较慢的只读访问,出于合规或监管原因、偶尔的回溯或调查,或重新激活部分数据。对数据的访问预计不频繁,因此可以以有限的性能和查询能力进行。
为此,Elasticsearch 具有访问旧快照存储库的能力(可追溯到版本 5)。快照存储库中的旧索引可以还原,或者可以通过可搜索快照直接访问,以便存档的数据甚至不需要完全驻留在本地磁盘上即可访问。
支持的字段类型
edit旧的映射尽可能“原样”导入到 Elasticsearch 8 中,但仅在选定的字段子集上提供常规查询功能:
- 数字类型
-
布尔类型 -
IP类型 -
地理点类型 -
日期类型: 日期字段上的格式设置在这些版本中支持,只要它在这些版本中表现相似。如果它不相似,例如使用自定义日期格式时,可以在旧索引上更新此字段,以便在需要时由用户更改。 -
关键字类型: 关键字字段上的规范化器设置在这些版本中支持,只要它在这些版本中表现相似。如果它不相似,可以在旧索引上更新此字段,以便在需要时进行更改。 -
文本类型: 评分能力有限,所有查询返回的常量分数等于1.0。文本字段上的分析器设置在这些版本中支持,只要它们在这些版本中表现相似。如果它们不相似,可以在旧索引上更新它们,以便在需要时进行更改。 - 多字段
- 字段别名
-
对象字段 -
一些基本元数据字段,例如用于查询Elasticsearch 5索引的
_type - 运行时字段
-
_source字段
具有多种映射类型的Elasticsearch 5索引在导入之前会尽力合并在一起。
如果映射的自动导入不起作用,或者新版本的 Elasticsearch 无法理解该映射,它将回退到导入没有映射的索引,但会将原始映射存储在导入索引的 _meta 部分中。然后可以使用 GET mapping API 检查旧映射,并使用 update mapping API 手动更新映射,复制并调整旧映射的相关部分以适应当前的 Elasticsearch 版本。虽然自动导入预计在大多数情况下都能正常工作,但如果失败,应向 Elastic 团队提出以供未来改进。
支持的API
edit归档索引是只读的,并通过搜索和字段能力 API 提供数据访问。 它们不支持获取 API也不支持任何写入 API。
归档索引允许运行查询以及聚合,只要它们是由给定字段类型支持的。
由于 _source 访问,数据也可以被 重新索引
到与当前 Elasticsearch 版本完全兼容的新索引中。
如何升级旧的Elasticsearch 5或6集群?
edit对旧集群中的索引进行快照,删除ES 8不直接支持的索引(即7.0之前的索引),在不包含旧索引的情况下升级集群,然后从快照中恢复旧索引或通过可搜索快照挂载它们。
在未来,我们计划简化升级过程,使其更容易在升级到未来的主要Elasticsearch版本时携带旧索引。