从 Elasticsearch 迁移至 Zilliz Cloud
Elasticsearch 是一个高度可扩展的搜索和分析引擎。通过利用 Zilliz Cloud 的迁移能力,您可以无缝地将数据从 Elasticsearch 实例迁移到 Zilliz Cloud 集群。
迁移过程涉及与现有的 Elasticsearch 源建立连接,并将其数据索引复制到 Zilliz Cloud 中相应的目标 collection,保留原始数据的结构和性能,同时启用高级向量搜索功能。
注意事项
-
目前,您可以迁移以下 Elasticsearch 数据类型:dense_vector, text, string, keyword, ip, date, timestamp, long, integer, short, byte, double, float, boolean, object, arrays。如果您的表中存在不支持的数据类型字段,可以选择不迁移这些字段或提交工单。有关 Elasticsearch 数据类型如何映射到 Zilliz Cloud 的详细信息,请参阅字段映射。
-
为确保兼容性,目标 Collection 中的 Auto ID 将被禁用,且无法修改。
-
每次迁移仅允许从每个源索引中选择一个向量字段。
-
每次迁移仅支持选择单个源集群。如果您在多个源集群中有数据,可以创建多个迁移任务。
开始前
-
您的 Elasticsearch 集群运行在 7.x 及以上版本。详情请参阅安装 Elasticsearch。
-
已在 Zilliz Cloud 中获得组织管理员或项目管理员权限。如果您没有相关权限,请联系您的 Zilliz Cloud 管理员。
从 Elasticsearch 迁移至 Zilliz Cloud
您可以将源数据迁移到任何版本类型的 Zilliz Cloud 集群,只要其计算单元(CU)大小能够满足源数据的存储需求。
-
登录 Zilliz Cloud 控制台。
-
进入目标项目,选择数据迁移 > Elasticsearch。
-
在连接至数据源步骤中,选择通过 Endpoint 或通过 Cloud ID 作为与源 Elasticsearch 集群交互的连接方法。然后,单击下一步。
📘说明有关如何获取集群的连接信息,请参阅连接集群和获取 API 密钥信息。
-
在选择迁移来源和目标步骤中,配置源 Elasticsearch 集群和目标 Zilliz Cloud 集群的设置。然后,单击下一步。
📘说明您选择从 Elasticsearch 迁移的每个源索引必须包含一个向量字段。
-
在配置 Schema 步骤中:
-
验证 Elasticsearch 数据与 Zilliz Cloud 数据类型之间的映射。Zilliz Cloud 默认映射数据,您可以查看相关映射并进行必要的调整。目前,您可以重命名字段,但不支持更改字段数据类型。
-
在高级设置中配置动态列和 Partition Key。更多信息请参考开启动态字段和使用 Partition Key。
-
在目标 Collection 名称和描述中,自定义目标 Collection 的名称和描述。Collection 名称在每个集群中必须唯一。如果名称与现有 Collection 重复,请重命名 Collection。
-
-
点击迁移。
查看迁移进度
生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。
迁移完成后,请验证目标集群中的 collection 和 entity 数量是否与数据源一致。如果发现不一致,请删除缺失 entity 的 collection 并重新进行迁移。
取消迁移任务
如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:
-
在任务中心页面,取消失败的迁移任务。
-
在操作列点击查看详情以访问日志信息。
字段映射
下表详细说明了 Elasticsearch 索引中的字段如何映射到 Zilliz Cloud 的 Collection 中。
Elasticsearch 字段类型 | Zilliz Cloud 字段类型 | 描述 |
---|---|---|
dense_vector | FloatVector | 向量维度与源索引中的向量字段维度相同。您可以在 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 | - |