Dumps
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 .
POST
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 . While a dump is processing, the update queue is paused and no write operations can occur on the database.
<>
cURL
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()
self.client.createDump { result in
switch result {
case .success(let dumpStatus):
print(dumpStatus)
}
}
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
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
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");
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"