跳到主要内容

从 OpenSearch 迁移至 Zilliz Cloud

OpenSearch 是一个分布式的搜索与分析引擎,支持多种应用场景,从在网站上实现搜索框,到用于分析安全数据进行威胁检测。本文将介绍如何将 OpenSearch 数据迁移到 Zilliz Cloud。

注意事项

  • Zilliz Cloud 支持迁移大多数 OpenSearch 数据类型。开始迁移前,请确认您的数据类型是否兼容。如果表中包含不受支持的数据类型字段,您可以选择不迁移这些字段或提交工单。完整的支持数据类型列表,请参考字段映射

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

开始前

  • 源 OpenSearch 集群可以从公网访问。

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

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

从 OpenSearch 迁移至 Zilliz Cloud

zh-migrate_from_opensearch

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

  1. 登录 Zilliz Cloud 控制台

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

  3. 连接至数据源步骤中,提供 OpenSearch 集群连接信息,包括 Cluster Endpoint(AWS OpenSearch: https://<ID>.<region>.es.amazonaws.com,OpenSearch 社区版: https://<ip>:<port>)、用户名和密码。然后,单击下一步

    📘说明

    有关如何获取集群的连接信息,请参阅 Communicate with OpenSearch

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

    📘说明

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

  5. 配置 Schema 步骤中:

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

    2. 高级设置中配置动态列Partition Key。更多信息请参考 Dynamic Field使用 Partition Key

    3. 目标 Collection 名称和描述中,自定义目标 Collection 的名称和描述。Collection 名称在每个集群中必须唯一。如果名称与现有 Collection 重复,请重命名 Collection。

  6. 点击迁移

查看迁移进度

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

📘说明

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

view_migration_progress_cn

取消迁移任务

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

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

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

字段映射

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

OpenSearch Field Type

Zilliz Cloud Field Type

Description

k-NN vector

FLOAT_VECTOR

OpenSearch 中的 float 向量类型映射到 Zilliz Cloud 上的 FLOAT_VECTOR。OpenSearch 的 Byte/Binary 向量不支持迁移。 向量维度保持不变。

Alias

Not supported

暂不支持映射该字段。

Binary

VARCHAR

Binary data is stored as a string on Zilliz Cloud.

Numeric

byte

INT8

直接映射。

double

DOUBLE

直接映射。

float

FLOAT

直接映射。

half_float

FLOAT

映射为 FLOAT 数据类型。

integer

INT32

直接映射。

long

INT64

直接映射。

short

INT16

直接映射。

unsigned_long

Not supported

暂不支持映射该字段。

scaled_float

Not supported

暂不支持映射该字段。

Boolean

BOOL

存储 truefalse

Date

VARCHAR

存储为字符串。

IP address

VARCHAR

存储为字符串。

Range

VARCHAR

存储为字符串。

Object

JSON

序列化为 JSON 格式。

String

keyword

VARCHAR

存储为字符串。

text

VARCHAR

映射到 Milvus 2.5 或更早版本中的 VARCHAR。

match_only_text

VARCHAR

存储为字符串。

token_count

VARCHAR

存储为字符串。

wildcard

Not supported

暂不支持映射该字段。

Autocomplete

VARCHAR

存储为字符串。

Geographic

VARCHAR

存储为字符串。

Rank

VARCHAR

存储为字符串。

Percolator

VARCHAR

存储为字符串。

Derived

Not supported

暂不支持映射该字段。

Star-tree

Not supported

暂不支持映射该字段。

  • 潜在的数据丢失或截断:在 VARCHAR 列中存储日期、范围、IP 地址或大文本内容等字段时,请考虑 Zilliz Cloud 上的长度限制或索引要求。

  • 不支持的字段类型:对于不支持的 OpenSearch 类型,请在迁移到 Zilliz Cloud 之前进行转换或移除。