从 Elasticsearch 迁移至 Zilliz Cloud
本文档说明从 Elasticsearch 迁移时,Zilliz Cloud 如何处理数据类型映射、Collection 命名规则及注意事项。
开始前
开始离线迁移前需满足:
Elasticsearch 侧要求
要求项 | 详细说明 |
---|---|
版本兼容性 | Elasticsearch 7.x 或更高版本 |
网络访问 | 源集群必须可通过公网访问 |
API 访问权限 | 需提供有效的集群 Endpoint 或 Cloud ID 及对应凭证 |
向量字段要求 | 每个源索引必须包含至少一个稠密向量字段 |
Zilliz Cloud 侧要求
要求项 | 详细说明 |
---|---|
用户权限 | 需具备组织管理员或项目管理员角色 |
目标集群容量 | 需预留足够 CU 容纳源数据(使用 CU 计算器预估容量) |
网络连通性 | 如果有网络限制,请确保已将 Zilliz Cloud IP 加入白名单 |
数据类型映射
下表总结了 Elasticsearch 字段类型如何映射到 Zilliz Cloud 字段类型,并对各类型做了详细说明。
Elasticsearch 字段类型 | Zilliz Cloud 字段类型 | 描述 |
---|---|---|
主键 | 主键 | Elasticsearch 的 ID 字段会自动映射为 Zilliz Cloud 中的主键。 在数据迁移时,您可以选择启用 Auto ID 功能;但请注意,启用后源索引中的原始主键值将会被舍弃。 |
dense_vector | FLOAT_VECTOR | 向量维度与源索引中的向量字段维度相同。您可以在 L2 和 IP 之间指定一个度量类型。 |
text, string, keyword, ip, date, timestamp | VARCHAR | 通过 Max Length 指定最大数据长度,有效值为 1 到 65535 之间。如果任何字符串超过了最大长度限制,迁移过程将会报错。 |
long | INT64 | - |
integer | INT32 | - |
short | INT16 | - |
byte | INT8 | - |
double | DOUBLE | - |
float | FLOAT | - |
boolean | BOOL | - |
object | JSON | - |
arrays | ARRAY | - |
Elasticsearch 特殊处理规则
Collection 命名规则
Elasticsearch 索引名称将按以下规则迁移至 Zilliz Cloud:
场景 | 影响 | 解决方案 |
---|---|---|
默认命名 | Collection 名称与源索引名称完全一致 | 保留原始名称 |
特殊字符 | 含连字符(-)或点号(.)的索引名称将导致迁移任务提交失败 | 手动重命名目标 Collection(使用下划线等合法字符) |
名称冲突 | 目标 Database 存在同名 Collection 时无法提交迁移任务 | 删除现有 Collection / 选择其他目标 Database / 迁移配置时重命名 Collection |
迁移注意事项
从 Elasticsearch 迁移时需注意以下事项:
限制项 | 影响 | 替代方案 |
---|---|---|
动态字段转固定字段 | 无法将现有动态字段转换为固定类型 | 字段保持原始动态特性 |
迁移过程中添加新字段 | 仅迁移 Elasticsearch 已有字段 | 无法在迁移时新增字段 |
稀疏向量迁移 | 当前版本不支持迁移稀疏向量 | 考虑使用稠密向量替代方案,或联系支持团队了解路线图 |