跳到主要内容

从 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 的详细信息,请参阅字段映射

  • 每次迁移仅允许从每个源索引中选择一个向量字段。

  • 每次迁移仅支持选择单个源集群。如果您在多个源集群中有数据,可以创建多个迁移任务。

开始前

  • 您的 Elasticsearch 集群运行在 7.x 及以上版本。详情请参阅安装 Elasticsearch

  • 您已创建 Zilliz Cloud 集群。详情请参阅创建集群

从 Elasticsearch 迁移至 Zilliz Cloud

您可以将源数据迁移到任何版本类型的 Zilliz Cloud 集群,只要其计算单元(CU)大小能够满足源数据的存储需求。

  1. 登录 Zilliz Cloud 控制台

  2. 进入目标项目,选择数据迁移 > 从 Elasticsearch 迁移

  3. 连接至数据源步骤中,选择通过 Endpoint通过 Cloud ID 作为与源 Elasticsearch 集群交互的连接方法。然后,单击下一步

    📘说明

    有关如何获取集群的连接信息,请参阅连接集群获取 API 密钥信息

  4. 选择迁移来源和目标步骤中,配置源 Elasticsearch 集群和目标 Zilliz Cloud 集群的设置。然后,单击下一步

    📘说明

    您选择从 Elasticsearch 迁移的每个源索引必须包含一个向量字段。

  5. 配置 Schema 步骤中:

    1. 验证 Elasticsearch 数据与 Zilliz Cloud 数据类型之间的映射。Zilliz Cloud 默认映射数据,您可以查看相关映射并进行必要的调整。目前,您可以重命名字段,但不支持更改字段数据类型。

    2. (可选)在高级设置中配置动态列Partition Key。更多信息请参考开启动态字段使用 Partition Key

    3. (可选)在基础信息中自定义目标 collection 名称和描述。collection 名称在每个集群中必须唯一。如果目标 collection 名称与现有 collection 重复,需要重命名目标 collection。

  6. 点击迁移

zh_migrate_from_es

查看迁移进度

生成迁移任务后,您可前往任务中心查看任务状态和进度。如果迁移任务的状态从进行中变更为成功,则代表迁移成功。

📘说明

迁移完成后,请验证目标集群中的 collection 和 entity 数量是否与数据源一致。如果发现不一致,请删除缺失 entity 的 collection 并重新进行迁移。

view_migration_progress_cn

取消迁移任务

如果迁移过程遇到任何问题,您可以采取以下步骤进行故障排除并恢复迁移:

  1. 任务中心页面,取消失败的迁移任务。

  2. 操作列点击查看详情以访问日志信息。

字段映射

下表详细说明了 Elasticsearch 索引中的字段如何映射到 Zilliz Cloud 的 Collection 中。

Elasticsearch 字段类型

Zilliz Cloud 字段类型

描述

dense_vector

FloatVector

向量维度与源索引中的向量字段维度相同。您可以在 L2IP 之间指定一个度量类型。

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

-