📜  Elasticsearch-版本之间的迁移(1)

📅  最后修改于: 2023-12-03 15:00:35.210000             🧑  作者: Mango

Elasticsearch 版本之间的迁移

Elasticsearch 是一个基于 Apache Lucene 的开源搜索引擎,广泛应用于分布式信息检索等场景。随着 Elasticsearch 版本的不断更新迭代,程序员在升级 Elasticsearch 版本时需要注意一些迁移问题,本文将会介绍 Elasticsearch 版本之间的迁移相关知识。

升级 Elasticsearch 版本前的准备工作

在进行 Elasticsearch 版本升级之前,我们需要先做好以下准备工作:

1.备份当前 Elasticsearch 索引

在升级 Elasticsearch 版本前,建议先备份当前索引数据,以避免数据丢失或数据备份不完整。可以使用 Elasticsearch 自带的 Snapshot 功能或第三方备份工具等方式进行备份。

2.查看 Elasticsearch 版本升级指南

在官网上查看当前版本到目标版本之间的升级指南,了解版本之间的差异和迁移要求。根据指南进行相应的改动。

Elasticsearch 版本之间的迁移
1.从 Elasticsearch 5.x 升级到 6.x

1.1 Java 版本要求

Elasticsearch 6.x 版本要求 Java 1.8 及以上版本,因此在升级前需要先确保 Java 版本符合要求。

1.2 字段类型变更

在 Elasticsearch 6.x 版本中,IP 字段类型从 ip 类型变更为 ip_range 类型,建议在升级前进行相应的调整。

1.3 移除 Mapping Types

在 Elasticsearch 6.x 版本中移除了 Mapping Types,即同一个 Index 中的不同 Mapping 类型,如果之前创建了多个 Mapping Types,建议合并成同一类型,或者创建多个 Index。

2.从 Elasticsearch 6.x 升级到 7.x

2.1 Java 版本要求

Elasticsearch 7.x 版本要求 Java 11 及以上版本,如果之前使用的是 Java 8,需要先进行升级。

2.2 移除 Mapping Types

同样地,Elasticsearch 7.x 版本中也移除了 Mapping Types,需要根据上述方法将 Mapping Types 进行调整。

2.3 新增复合字段数据类型 Keyword

在 Elasticsearch 7.x 版本中,新增了一个复合字段数据类型 keyword,既支持全文检索,也支持聚合操作,建议进行相应的替换。

总结

通过以上介绍,我们了解了 Elasticsearch 版本之间的迁移相关知识,在进行版本升级前,需要做好备份和准备工作,避免数据丢失或迁移问题。

参考资料:

Elasticsearch 7.0 Breaking changes

Elasticsearch 6.0 Release Notes