导出和导入转储
转储是一个压缩文件,其中包含 Meilisearch 实例的导出内容。使用转储将数据迁移到新的 Meilisearch 版本。本教程展示如何创建和导入转储。
创建转储也称为导出。使用转储启动 Meilisearch 称为导入。
创建转储
在 Meilisearch Cloud 中创建转储
您无法在 Meilisearch Cloud 中手动导出转储。要将您的项目迁移到最新的 Meilisearch 版本,请使用云界面
如果您需要出于升级以外的原因创建转储,请通过 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 也不会创建部分转储文件。
API 密钥和备份
由于key
字段依赖于主密钥,因此不会传播到转储文件。如果恶意用户有权访问您的转储文件,则他们将无法访问您实例的 API 密钥。
导入转储
在 Meilisearch Cloud 中导入转储
创建新项目时可以在 Meilisearch 中导入转储,在计划选择器下方
在自托管实例中导入转储
使用--import-dump
配置选项启动 Meilisearch 实例以导入转储
./meilisearch --import-dump /dumps/20200813-042312213.dump
根据转储文件的大小,导入可能需要大量时间。此流程完成后,您才能访问 Meilisearch 及其 API。
Meilisearch 会导入转储文件中的所有数据。如果您已向实例添加数据,则与转储文件中的索引具有相同uid
的现有索引将被覆盖。
注意
请勿使用转储从较新版本的 Meilisearch 迁移到较旧版本。这样做可能会导致意外行为。