Learn how to migrate to the latest Meilisearch release.
sudo
.
If migrating to the latest version of Meilisearch will cause you to skip multiple versions, this may require changes to your codebase. Refer to our version-specific update warnings for more details.
systemctl
service using v0.22 or above, try our migration script.taskUid
to monitor the snapshot creation status. Once the task is completed, proceed to the next step.
Ctrl + c
./usr/bin
directory:
UpgradeDatabase
task. This task is processed immediately and cannot be canceled. You may follow its progress by using the GET /tasks?types=UpgradeDatabase
endpoint to obtain its taskUid
, then querying GET /tasks/TASK_UID
.
While the task is processing, you may continue making search queries. You may also enqueue new tasks. Meilisearch will only process new tasks once UpgradeDatabase
is completed.
failed
, you can cancel the upgrade task.
Cancelling the update task automatically rolls back your database to its state before the upgrade began.
After launching Meilisearch with --experimental-dumpless-upgrade
flag:
databaseUpgrade
taskmissing_authorization_header
error, you might be using v0.24 or below. For each command, replace the Authorization: Bearer
header with the X-Meili-API-Key: API_KEY
header:pkgVersion
is 0.21 or above, you can jump to creating the dump. If not, proceed to the next step.
{'displayedAttributes': '["*"]'}
, you can move on to the next step.
If the response is anything else, save the current list of displayed attributes in a text file and then reset the displayed attributes list to its default value (["*"])
:
updateId
. Use the get update endpoint to track the status of the operation:
processed
, you’re good to go. Repeat this process for all indexes, then move on to creating your dump.
dumps
at the root of your Meilisearch directory.
Cloud platforms like DigitalOcean and AWS are configured to store dumps in the /var/opt/meilisearch/dumps
directory.
If you’re unsure where your Meilisearch directory is located, try this:
_geo
fields in Meilisearch v0.27, v0.28, and v0.29, you might not be able to import your dump. Please ensure the _geo
field follows the correct format before creating your dump.taskUid
to track the status of your dump. Keep in mind that the process can take some time to complete.
uid
. Use it with the /dumps/:dump_uid/status
route to track the request status:dumpCreation
task shows "status": "succeeded"
, you’re ready to move on.
Ctrl + c
.data.ms
, we suggest creating a backup in case something goes wrong. data.ms
should be at the root of the Meilisearch binary unless you chose another location.
On cloud platforms, you will find the data.ms
folder at /var/lib/meilisearch/data.ms
.
Move the binary of the current Meilisearch installation and database to the /tmp
folder:
/usr/bin
directory:
Ctrl
+C
to stop Meilisearch once your dump has been correctly imported. Next, execute the following command to run the script to configure Meilisearch and restart it as a service:
displayedAttributes
back to its previous value using the update displayed attributes endpoint.
data.ms
folder created by the previous steps. Next, move the backup files back to their previous location using:
private
and public
keys have been deprecated and replaced by two default API keys with similar permissions: Default Admin API Key
and Default Search API Key
.updates
API has been replaced with the tasks
API.key
and uid
fields regenerated.--dumps-dir
with --dump-dir
in the following files:
/etc/systemd/system/meilisearch.service
/var/opt/meilisearch/scripts/first-login/001-setup-prod.sh