Dumps
The dumps
route allows the creation of database dumps. Dumps are .dump
files that can be used to launch MeiliSearch. Dumps are compatible between MeiliSearch versions.
Creating a dump is also referred to as exporting it, whereas launching MeiliSearch with a dump is referred to as importing it.
During a dump export, all indexes of the current instance are exported—together with their documents and settings—and saved as a single .dump
file.
During a dump import, all indexes contained in the indicated .dump
file are imported along with their associated documents and settings. Any existing index with the same uid as an index in the dump file will be overwritten.
Dump imports must be performed when launching a MeiliSearch instance using the import-dump command-line option.
Create a dump
POST
/dumps
Triggers a dump creation process. Once the process is complete, a dump is created in the dumps directory. If the dumps directory does not exist yet, it will be created.
MeiliSearch only processes one dump at a time. If you attempt to create a dump while another dump is still processing, MeiliSearch will throw an error. While a dump is processing, the update queue is paused and no write operations can occur on the database.
Example
<>
cURL
JS
Python
PHP
Java
Ruby
Go
Rust
Swift
Dart
curl -X POST 'http://localhost:7700/dumps'
client.createDump()
client.create_dump()
$client->createDump();
client.createDump();
client.create_dump
resp, err := client.CreateDump()
client.create_dump().await.unwrap();
self.client.createDump { result in
switch result {
case .success(let dumpStatus):
print(dumpStatus)
case .failure:
print(error)
}
}
await client.createDump();
Response: 202 Accepted
{
"uid": "20200929-114144097",
"status": "in_progress",
"startedAt": "2020-09-29T11:41:44.392327Z"
}
Get dump status
GET
/dumps/:dump_uid/status
Get the status of a dump creation process using the uid returned after calling the dump creation route.
The returned status could be:
in_progress
: Dump creation is in progressfailed
: An error occurred during dump process, and the task was aborteddone
: Dump creation is finished and was successful
Example
<>
cURL
JS
Python
PHP
Java
Ruby
Go
Rust
Swift
Dart
curl -X GET 'http://localhost:7700/dumps/20201101-110357260/status'
client.getDumpStatus("20201101-110357260")
client.get_dump_status('20201101-110357260')
$client->getDumpStatus('20201101-110357260');
client.getDumpStatus("20201101-110357260");
client.get_dump_status(20201006-053243949)
resp, err := client.GetDumpStatus("dump-uid")
client.get_dump_status("20201101-110357260").await.unwrap();
self.client.getDumpStatus(uid) { result in
switch result {
case .success(let dumpStatus):
print(dumpStatus)
case .failure:
print(error)
}
}
await client.getDumpStatus('20201101-110357260');
Response: 200 Ok
{
"uid": "20200929-114144097",
"status": "done",
"startedAt": "2020-09-29T11:41:44.392327Z",
"finishedAt": "2020-09-29T11:41:50.792147Z"
}