跳到主要内容

从 Elasticsearch 迁移至 Zilliz Cloud

Elasticsearch 是一个高度可扩展的搜索和分析引擎。通过利用 Zilliz Cloud 的迁移能力,您可以无缝地将数据从 Elasticsearch 实例迁移到 Zilliz Cloud 集群。

迁移过程分为以下步骤:

  1. 连接数据源:输入您的 Elasticsearch 集群连接端点或 Cloud ID 来建立连接。

  2. 选择迁移源和目标集群

    • 选择一个或多个待迁移的 Elasticsearch 索引。

    • 选择一个现有的 Zilliz Cloud 集群作为目标集群。

  3. 配置 Schema:确保 Elasticsearch 与 Zilliz Cloud 之间的字段类型正确映射。有关具体的数据映射规则,请参阅映射规则

XWTOwtbNLhXcaEbLxsAcpK3knPg

映射规则

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

Elasticsearch 字段类型

Zilliz Cloud 字段类型

描述

主键

主键

Elasticsearch 的 ID 字段会自动映射为 Zilliz Cloud 中的主键。 在数据迁移时,您可以选择启用 Auto ID 功能;但请注意,启用后源索引中的原始主键值将会被舍弃。

dense_vector

FLOAT_VECTOR

向量维度与源索引中的向量字段维度相同。您可以在 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

-

📘说明

目前不支持从 Elasticsearch 索引迁移稀疏向量。

开始前

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

  • 如果您的网络环境配置了白名单列表,请确保将 Zilliz Cloud 的 IP 地址添加到其中。要了解更多信息,请参考 Zilliz Cloud IP

  • 已在 Zilliz Cloud 中获得组织管理员或项目管理员权限。如果您没有相关权限,请联系您的 Zilliz Cloud 管理员。

从 Elasticsearch 迁移至 Zilliz Cloud

  1. 登录 Zilliz Cloud 控制台

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

    Q0wObLWW2oamxFx97LVcoEyYn9c

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

    📘说明

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

    FASUbYe2GoYtclxz9PQc86LxnNg

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

    📘说明

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

    EpnWb3W8ooJMIGxoaN4cizsunbd

  5. 配置 Schema 步骤中,设置 Zilliz Cloud 与 Elasticsearch 之间的字段映射:

    C1vwb9yq1o7EIOxcLLpcYcZtnBe

    1. 确认字段映射:

      • Zilliz Cloud 会自动检测并显示您的 Elasticsearch 字段及其对应的目标字段。有关字段映射的详细信息,请参阅映射规则

      • 请确认各 Elasticsearch 字段是否与相应的目标字段正确匹配。您可以根据需要重命名字段,但字段的数据类型不支持修改。

    2. 处理标量字段:

      对于标量字段,请配置以下属性:

      • 支持 Null 值: 决定该字段是否可以包含 null 值,此功能默认启用。详情请参阅 Nullable 和默认值

      • 默认值: 为该字段指定一个默认值。详情请参阅 Nullable 和默认值

      • Partition key: 可选择将 INT64 或 VARCHAR 字段指定为 Partition Key。注意:每个 Collection 仅支持一个 Partition Key,并且所选字段不能包含 null 值。详情请参阅使用 Partition Key

    3. 启动 Dynamic Field:

      • 默认情况下,Dynamic Field 处于启用状态,这允许您插入 Collection Schema 中未定义的任意标量字段。

      • 如果禁用该功能,则需要在插入数据前显式定义每个 Entity 包含的所有字段。更多信息请参阅 Dynamic Field

    4. (可选)调整 Shard:

      • 点击高级设置以配置目标 Collection 的 Shard 数量。

      • 对于大约 1 亿行数据来说,通常只需一个 Shard 即可。

      • 如果您的数据集超过 10 亿行,请联系我们以获取最佳 Shard 配置方案。

  6. 点击迁移

查看迁移进度

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

TYIIbAJKyoY996xmsRicnIETngb

迁移后

迁移任务完成后,请注意以下事项:

  • 索引创建:在从外部数据源进行迁移时,系统不会自动为向量字段创建索引。您需要手动为每个向量字段创建索引。详细信息请参阅创建 Vector Index

  • 手动 Load Collection:创建必要的向量索引后,请手动 Load Collection,使其可用于搜索和查询操作。详细信息请参阅 Load 和 Release

📘说明

完成索引创建和 Load 后,请检查目标集群中的 Collection 数量及 Entity 数是否与数据源保持一致。如果发现不符,请删除 Collection 并重新进行迁移任务。

取消迁移任务

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

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

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