导出和导入转储

    转储是一个压缩文件,其中包含您的 Meilisearch 实例的导出。使用转储迁移到新的 Meilisearch 版本。本教程将向您展示如何创建和导入转储。

    创建转储也称为导出。使用转储启动 Meilisearch 也称为导入。

    创建转储

    在 Meilisearch Cloud 中创建转储

    您无法在 Meilisearch Cloud 中手动导出转储。要将您的项目迁移到最新的 Meilisearch 版本,请使用 Cloud 界面

    The General settings interface displaying various data fields relating to a Meilisearch Cloud project. One of them reads "Meilisearch version". Its value is v1.6.2. Next to the value is a button "Update to v1.7.0"

    如果您需要创建转储的原因不是升级,请通过 Meilisearch Cloud 界面或官方 Meilisearch Discord 服务器联系支持团队。

    在自托管实例中创建转储

    要创建转储,请使用创建转储端点

    curl \
      -X POST 'https://127.0.0.1:7700/dumps'

    这将返回一个汇总的任务对象,您可以使用它来检查转储的状态。

    {
      "taskUid": 1,
      "indexUid": null,
      "status": "enqueued",
      "type": "dumpCreation",
      "enqueuedAt": "2022-06-21T16:10:29.217688Z"
    }
    

    转储创建过程是一个异步任务,所需时间与数据库的大小成正比。将 1 替换为上一个命令返回的 taskUid

    curl \
      -X GET 'https://127.0.0.1:7700/tasks/1'

    这应该返回一个包含有关转储操作的详细信息的对象

    {
      "uid": 1,
      "indexUid": null,
      "status": "succeeded",
      "type": "dumpCreation",
      "canceledBy": null,
      "details": {
        "dumpUid": "20220621-161029217"
      },
      "error": null,
      "duration": "PT0.025872S",
      "enqueuedAt": "2022-06-21T16:10:29.217688Z",
      "startedAt": "2022-06-21T16:10:29.218297Z",
      "finishedAt": "2022-06-21T16:10:29.244169Z"
    }
    

    当前实例的所有索引及其文档和设置都将导出并保存为单个 .dump 文件。转储还包括 Meilisearch 开始处理转储创建任务之前注册的任何任务。

    一旦任务 status 更改为 succeeded,请在转储目录中查找转储文件。默认情况下,此文件夹名为 dumps,可以在与您的 Meilisearch 二进制文件相同的目录中找到。

    如果转储文件在文件系统中可见,则转储过程已成功完成。即使您在 Meilisearch 生成转储时中断实例,Meilisearch 也绝不会创建部分转储文件

    API 密钥和备份

    由于 key 字段取决于主密钥,因此它不会传播到转储。如果恶意用户访问了您的转储,他们将无法访问您实例的 API 密钥。

    导入转储

    在 Meilisearch Cloud 中导入转储

    您可以在创建新项目时,在计划选择器下方将转储导入 Meilisearch

    The project creation interface, with a few inputs fields: project name, region selection, and plan selection. Right below all of these, is a file upload button named "Import .dump"

    在自托管实例中导入转储

    使用--import-dump 配置选项启动 Meilisearch 实例来导入转储

    ./meilisearch --import-dump /dumps/20200813-042312213.dump
    

    根据转储文件的大小,导入可能需要相当长的时间。只有在完成此过程后,您才能访问 Meilisearch 及其 API。

    Meilisearch 导入转储文件中的所有数据。如果您已将数据添加到您的实例,则具有与转储文件中索引相同的 uid 的现有索引将被覆盖。

    注意

    请勿使用转储从新的 Meilisearch 版本迁移到较旧的版本。这样做可能会导致意外的行为。