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。