Skip to main content
Version: User Guides (Cloud)

Migrate from Elasticsearch to Zilliz Cloud

Elasticsearch is a highly scalable search and analytics engine known for its speed and flexibility in handling large volumes of data. By leveraging Zilliz Cloud's migration capabilities, you can seamlessly transfer data from your Elasticsearch instances to your Zilliz Cloud cluster.

The migration process is structured into these steps:

  1. Connect to data source: Enter your Elasticsearch cluster endpoint or cloud ID to establish a connection.

  2. Select source and target:

    • Choose one or more Elasticsearch indexes for migration.

    • Select an existing Zilliz Cloud cluster as the target.

  3. Configure schema: Verify that field types are correctly mapped between Elasticsearch and Zilliz Cloud. For detailed mapping rules, refer to Mapping rules.

AxBLwbKFhhiwQXbZocqcjp8qnFj

Mapping rules

The following table summarizes how field types in Elasticsearch are mapped to Zilliz Cloud field types, along with details on any customization options.

Elasticsearch Field Type

Zilliz Cloud Field Type

Description

Primary key

Primary key

Elasticsearch's ID field is automatically mapped as the primary key in Zilliz Cloud. When migrating data, you can enable Auto ID. However, if you do so, the original primary key values from your source index will be discarded.

dense_vector

FLOAT_VECTOR

Vector dimensions remain unchanged. Specify L2 or IP as the metric type.

text, string, keyword, ip, date, timestamp

VARCHAR

Set Max Length (1 to 65,535). Strings exceeding the limit can trigger migration errors.

long

INT64

-

integer

INT32

-

short

INT16

-

byte

INT8

-

double

DOUBLE

-

float

FLOAT

-

boolean

BOOL

-

object

JSON

-

arrays

ARRAY

-

📘Notes

Currently, migrating sparse vectors from Elasticsearch indexes are not supported.

Before you start

  • The source Elasticsearch cluster is running version 7.x or later and is accessible from the public internet.

  • If you have an allowlist configured in your network environment, ensure that Zilliz Cloud IP addresses are added to it. For more information, refer to Zilliz Cloud IPs.

  • You have been granted the Organization Owner or Project Admin role. If you do not have the necessary permissions, contact your Zilliz Cloud administrator.

Migrate from Elasticsearch to Zilliz Cloud

  1. Log in to the Zilliz Cloud console.

  2. Go to the target project page and select Migrations > Elasticsearch.

    FfnzbqCmmo0ZxqxEwy6czqcHnYf

  3. In the Connect to Data Source step, enter connection information to the source Elasticsearch cluster. Then, click Next.

    📘Notes

    Connect to your cluster and Get API key information can guide you on obtaining the required connection information.

    BGO8brYeTo4KgfxjCnDc7aCnnXe

  4. In the Select Source and Target step, configure settings for the source Elasticsearch cluster and target Zilliz Cloud cluster. Then, click Next.

    📘Notes

    Each source index you choose to migrate from Elasticsearch must contain a vector field.

    Lf3DbhwFooUqDxxf0S5cDiypnhb

  5. In the Configure Schema step, set up field mappings between Zilliz Cloud and Elasticsearch:

    MYEebcXTGo0S3lxgudDc7Pr0nig

    1. Confirm field mappings:

      • Zilliz Cloud automatically detects and displays your Elasticsearch fields alongside their corresponding target fields. For details on how these fields are mapped, refer to Mapping rules.

      • Verify that each Elasticsearch field is correctly paired with its corresponding target field. You can rename fields as needed, but note that the data type cannot be changed.

    2. Handle scalar fields:

      For scalar fields, configure the following attributes:

      • Nullable: Decide whether a field can accept null values. This feature is enabled by default. For details, refer to Nullable & Default.

      • Default Value: Specify a default value for a field. For details, refer to Nullable & Default.

      • Partition Key: Optionally designate an INT64 or VARCHAR field as the partition key. Note: Each collection supports only one partition key, and the selected field cannot be nullable. For details, refer to Use Partition Key.

    3. Enable dynamic field:

      • Dynamic fields are enabled by default. This allows you to include any scalar fields that are not defined in the collection schema.

      • If you disable it, you need to explicitly define each field in your entity before inserting data. For more information, refer to Dynamic Field.

    4. (Optional) Adjust shards:

      • Click Advanced Settings to configure the number of shards for your target collection.

      • For datasets of around 100 million rows, a single shard is typically sufficient.

      • If your dataset exceeds 1 billion rows, contact us to discuss optimal shard configuration for your use case.

  6. Click Migrate.

Monitor the migration process

Once you click Migrate, a migration job will be generated. You can check the migration progress on the Jobs page. When the job status switches from In Progress to Successful, the migration is complete.

FowgbDSakogJ3JxNQBsc36gLnGd

Post-migration

After the migration job is completed, note the following:

  • Index Creation: The migration process does not automatically create indexes for vector fields when migrating from external data sources. You must manually create the index for each vector field. For details, refer to Index Vector Fields.

  • Manual Loading Required: After creating the necessary indexes, manually load the collections to make them available for search and query operations. For details, refer to Load & Release.

📘Notes

Once you have completed indexing and loading, verify that the number of collections and entities in the target cluster matches the data source. If discrepancies are found, delete the collections with missing entities and re-migrate them.

Cancel migration job

If the migration process encounters any issues, you can take the following steps to troubleshoot and resume the migration:

  1. On the Jobs page, identify the failed migration job and cancel it.

  2. Click View Details in the Actions column to access the error log.