Elasticsearch 5.X迁移Elasticsearch 7.10.2
映射 (Mapping) 重构
string类型被移除,需替换为text或keyword。
_all字段在7.x中默认禁用。
删除已废弃参数:如include_in_all 等。
检查Mapping中是否有非法字段或字段冲突。
索引类型 (Type) 兼容性
5.x支持一个index 多个type,但7.x强制一个index只允许一个type,若存在多个type,建议拆成多个index,或迁移前合并为统一结构。
7.x临时支持include_type_name=true,建议仅用于过渡期。
查询与聚合 DSL 调整
替换已废弃的filtered查询,使用bool+filter。
移除对_type、_all字段的引用。
XPack功能排查
如果原集群使用了XPack功能,云搜索的Elacticsearch不提供XPack,需要转换到对应的开源版功能。
配置参数检查
部分原配置参数如bootstrap.mlockall等不再支持,需要修改为新的参数。
插件功能排查
先确认原集群用到的插件,天翼云提供的实例是否默认具备。如不具备则需确认该插件在不同的版本中是否有功能和使用上的差异,即跨版本是否兼容。
Java 客户端
默认的TransportClient在7.x中废弃,如果用了TransportClient,需要修改相应的业务代码。
Elasticsearch 6.X迁移Elasticsearch 7.10.2
Type 遗留清理
确保每个index只使用一个type。
删除或更新所有_type相关的API调用,例如put_mapping必须适配单type。
明确设置include_type_name=true以便平滑迁移。
Mapping & Index Template 调整
6.x中部分字段参数(如 index: no、norms)在7.x中行为不同,需提前测试。
XPack功能排查
如果原集群使用了XPack功能,云搜索的Elacticsearch不提供XPack,需要转换到对应的开源版功能。
插件功能排查
先确认原集群用到的插件,天翼云提供的实例是否默认具备。如不具备则需确认该插件在不同的版本中是否有功能和使用上的差异,即跨版本是否兼容。
Java 客户端
6.x兼容的TransportClient在7.x中废弃,如果业务仍使用TransportClient,需要修改相应的业务代码。
Elasticsearch 7.X迁移Elasticsearch 7.10.2
XPack功能排查
如果原集群使用了XPack功能,云搜索的Elacticsearch不提供XPack,需要转换到对应的开源版功能。
高版本7.X个别功能不可用
若迁移源版本≥ 7.11,可能有个别功能在7.10.2不可用,例如runtime fields等。
插件功能排查
先确认原集群用到的插件,天翼云提供的实例是否默认具备。如不具备则需确认该插件在不同的版本中是否有功能和使用上的差异,即跨版本是否兼容。
Java 客户端
7.17.X版本已经可以使用Elasticsearch Java API Client,如果使用了,需要重写相应的代码,使用Java REST High Level Client。
Elasticsearch 8.X迁移Elastisearch 7.10.2
快照迁移不支持
Elasticsearch不支持版本降级,需要重建数据。快照不可用于降级还原;只能通过reindex/Logstash等方法。
8.X引入的各项高级功能不兼容
比如runtime fields、dense_vector、searchable_snapshot、向量等高级功能语法不兼容。
XPack功能排查
如果原集群使用了XPack功能,云搜索的Elacticsearch不提供XPack,需要转换到对应的开源版功能。
插件功能排查
先确认原集群用到的插件,天翼云提供的实例是否默认具备。如不具备则需确认该插件在不同的版本中是否有功能和使用上的差异,即跨版本是否兼容。
Java 客户端
如果使用了Elasticsearch Java API Client,需要重写相应的代码,使用Java REST High Level Client。