Meilisearch — Index instellingen migreren¶
Overzicht¶
Deze procedure beschrijft hoe je de instellingen van Meilisearch-indexes exporteert vanuit één omgeving en importeert in een andere (bijv. productie → staging → test). De index data zelf blijft onaangetast, alleen de configuratie wordt overgezet.
Volledige herstel of data-migratie
Voor het herstellen van een volledige Meilisearch dump (data + instellingen), zie Meilisearch backup naar Hetzner Storage Box.
Welke instellingen worden gemigreerd¶
| Instelling | Beschrijving |
|---|---|
rankingRules |
Volgorde van relevantie-factoren (bijv. words, typo, proximity) |
searchableAttributes |
Welke velden doorzoekbaar zijn, en in welke volgorde van prioriteit |
displayedAttributes |
Welke velden teruggegeven worden in zoekresultaten |
filterableAttributes |
Velden waarop gefilterd kan worden in queries |
sortableAttributes |
Velden waarop gesorteerd kan worden in queries |
stopWords |
Woorden die worden genegeerd bij zoeken (bijv. "de", "het", "een") |
synonyms |
Synoniemen (bijv. "verkoeling" → "koelvest") |
distinctAttribute |
Veld dat gebruikt wordt voor deduplicatie van resultaten |
faceting |
Maximaal aantal facet-waarden en sorteervolgorde |
facetSearch |
Zoeken binnen facet-waarden in- of uitschakelen |
pagination |
Maximaal aantal resultaten per pagina |
typoTolerance |
Configuratie voor typfouttolerantie |
dictionary |
Aangepaste woordenlijst voor tokenisatie |
separatorTokens |
Extra tekens die als woordscheidingsteken gelden |
nonSeparatorTokens |
Tekens die expliciet geen woordscheidingsteken zijn |
proximityPrecision |
Nauwkeurigheid van nabijheids-ranking (byWord of byAttribute) |
localizedAttributes |
Per-attribuut taalconfiguratie voor betere tokenisatie |
searchCutoffMs |
Maximale zoektijd in milliseconden |
prefixSearch |
Prefix-zoeken in- of uitschakelen (indexingTime / disabled) |
embedders |
Configuratie voor vector search / AI-zoeken |
Stap 1 — Instellingen exporteren van de bronserver¶
Verbind via SSH met de bronserver en exporteer de instellingen per index via de REST API:
# Vervang <index_uid> met de naam van de index, bijv. "DEV_NL_products"
curl -s 'https://search.brekz.localhost/indexes/<index_uid>/settings' \
-H "Authorization: Bearer <MASTER_KEY>" \
-o /tmp/meilisearch-settings-<index_uid>.json
Master key ophalen
De master key is op te halen via de Ploi UI (navigeer naar de Meilisearch service en bekijk de parameters) of via:
systemctl cat meilisearch.service
Stap 2 — Bestanden overzetten naar de doelserver¶
# Voer dit uit op de bronserver
scp /tmp/meilisearch-settings-*.json <doelserver-user>@<doelserver-ip>:/tmp/
Stap 3 — Instellingen importeren op de doelserver¶
Verbind via SSH met de doelserver en importeer per index:
curl -X PATCH 'https://search.brekz.localhost/indexes/<index_uid>/settings' \
-H "Authorization: Bearer <MASTER_KEY>" \
-H "Content-Type: application/json" \
--data-binary @/tmp/meilisearch-settings-<index_uid>.json
Dit geeft een taak-respons terug met een taskUid. Controleer de status:
curl -s 'https://search.brekz.localhost/tasks/<TASK_UID>' \
-H "Authorization: Bearer <MASTER_KEY>"
Wacht tot "status":"succeeded" verschijnt in de respons.