跳到主要内容

从 OpenSearch 迁移至 Zilliz Cloud

本文档说明从 OpenSearch 迁移时,Zilliz Cloud 如何处理数据类型映射、Collection 命名规则及注意事项。

开始前

开始离线迁移前需满足:

OpenSearch 侧要求

要求项详细说明
网络访问源集群必须可通过公网访问
认证权限需提供有效的集群 Endpoint、用户名及密码(具备必要权限)
向量字段要求每个源索引必须包含至少一个 k-NN 向量字段
数据可用性源索引必须包含数据,空索引无法迁移

Zilliz Cloud 侧要求

要求项详细说明
用户权限需具备组织管理员或项目管理员角色
目标集群容量需预留足够 CU 容纳源数据(使用 CU 计算器预估容量)
网络连通性如果有网络限制,请确保已将 Zilliz Cloud IP 加入白名单

数据类型映射

下表总结了 OpenSearch 字段类型如何映射到 Zilliz Cloud 字段类型,并对各类型做了详细说明。

OpenSearch 字段类型Zilliz Cloud 字段类型描述
主键(_id主键OpenSearch 的 ID 字段将自动映射为 Zilliz Cloud 的主键字段。
k-NN vectorFLOAT_VECTOROpenSearch 中的 float 向量类型映射到 Zilliz Cloud 上的 FLOAT_VECTOR。OpenSearch 的 Byte/Binary 向量不支持迁移。
向量维度保持不变。
AliasNot supported暂不支持映射该字段。
BinaryVARCHARBinary 数据在 Zilliz Cloud 中以字符串形式存储。
Numeric
byteINT8直接映射。
doubleDOUBLE直接映射。
floatFLOAT直接映射。
half_floatFLOAT映射为 FLOAT 数据类型。
integerINT32直接映射。
longINT64直接映射。
shortINT16直接映射。
unsigned_long不支持暂不支持映射该字段。
scaled_float不支持暂不支持映射该字段。
BooleanBOOL存储 truefalse
DateVARCHAR存储为字符串。
IP addressVARCHAR存储为字符串。
RangeJSON序列化为 JSON 格式。
Object
objectJSON序列化为 JSON 格式。
nestedJSON序列化为 JSON 格式。
flat_objectJSON序列化为 JSON 格式。
joinVARCHAR存储为字符串。
String
keywordVARCHAR存储为字符串。
textVARCHAR映射到 Milvus 2.5 或更早版本中的 VARCHAR。
match_only_textVARCHAR存储为字符串。
token_countINT32存储为 INT32。
wildcard不支持暂不支持映射该字段。
AutocompleteVARCHAR存储为字符串。
GeographicVARCHAR存储为字符串。
RankVARCHAR存储为字符串。
PercolatorVARCHAR存储为字符串。
Derived不支持暂不支持映射该字段。
Star-tree不支持暂不支持映射该字段。
Arrays不支持暂不支持映射该字段。
Multifields不支持暂不支持映射该字段。

OpenSearch 特殊处理规则

Collection 命名规则

OpenSearch 索引名称将按以下规则迁移至 Zilliz Cloud:

场景影响解决方案
默认命名Collection 名称与源索引名称完全一致保留原始名称
特殊字符含连字符(-)或点号(.)的索引名称将导致迁移任务提交失败手动重命名目标 Collection(使用下划线等合法字符)
名称冲突目标 Database 存在同名 Collection 时无法提交迁移任务删除现有 Collection / 选择其他目标 Database / 迁移配置时重命名 Collection

迁移注意事项

从 OpenSearch 迁移时需注意以下事项:

限制项影响替代方案
动态字段转固定字段无法将现有动态字段转换为固定类型字段保持原始动态特性
迁移过程中添加新字段仅迁移 Elasticsearch 已有字段无法在迁移时新增字段
稀疏向量迁移当前版本不支持迁移稀疏向量考虑使用稠密向量替代方案,或联系支持团队了解路线图
Ctrl I