Vous déployez Meilisearch en dix minutes via Docker Compose. La recherche est instantanée, l'équipe est conquise. Trois semaines plus tard, un docker compose down -v accidentel ou un disque plein efface l'index — et personne n'a de dump récent parce que « c'est juste un cache, non ? »
Non. Meilisearch est reconstructible — mais seulement si vous avez automatisé la reconstruction. Sinon, vous redécouvrez combien de temps prend une réindexation complète en production, pendant que les utilisateurs naviguent sans résultats pertinents.
Architecture saine : index dérivé, source ailleurs
| Couche | Rôle | Source de vérité ? |
|---|---|---|
| PostgreSQL / CMS | Données produits, articles | Oui |
| Meilisearch | Index de recherche | Non — dérivé |
| Application | Requêtes search API | Non |
Traitez Meilisearch comme un index jetable avec un pipeline de reconstruction documenté — pas comme une base secondaire qu'on « sauvegarde quand on y pense ».
La règle d'or : toute donnée présente uniquement dans Meilisearch est une donnée que vous acceptez de perdre ou de reconstruire. Les métadonnées de recherche, les synonymes configurés et les règles de ranking doivent être versionnés (fichiers de config, infrastructure as code) autant que les dumps.
Déploiement Docker avec persistance
services:
meilisearch:
image: getmeili/meilisearch:v1.11
volumes:
- ./meili_data:/meili_data
environment:
MEILI_MASTER_KEY: "${MEILI_MASTER_KEY}"
MEILI_ENV: production
ports:
- "7700:7700"
Points critiques à ne pas négliger :
- Volume nommé ou bind mount — jamais de stockage éphémère en production.
- Clé maître en secret (variable d'environnement, coffre), pas dans le dépôt Git.
- Reverse proxy (nginx, Caddy) avec TLS devant le port 7700.
- Pare-feu — n'exposez pas 7700 publiquement sans authentification.
Sur un VPS modeste, placez meili_data sur un volume distinct de l'OS pour faciliter les snapshots et les restaurations ciblées.
Sauvegarde cohérente et réindexation
Selon votre version Meilisearch, deux mécanismes coexistent :
Les dumps exportent un index portable — utile pour migration ou sauvegarde froide. Planifiez-les via cron avec rotation vers un stockage objet (restic, rclone vers Scaleway, Wasabi ou Backblaze).
Les snapshots (selon édition) capturent l'état interne plus rapidement — vérifiez la documentation de votre version avant de vous y fier seul.
Stratégie pragmatique pour une PME :
- Script
reindex-full.shtesté mensuellement depuis la base de données. - Dump nocturne vers un bucket S3 compatible avec rétention de trente jours.
- Alertes disque sur le volume
meili_dataavant le seuil critique.
Testez la restauration, pas seulement la création du dump. Un fichier sur S3 jamais restauré n'est qu'une promesse.
Indexation continue versus batch
Deux modèles cohabitent selon votre métier :
- Webhooks ou événements : indexez à chaque mutation produit via une file (Redis, RabbitMQ) pour limiter la charge synchrone.
- Batch nocturne : réindexation complète si votre modèle le permet — plus simple à réconcilier et à auditer.
Montez progressivement la taille des lots d'import ; surveillez RAM et latence de recherche pendant les imports massifs. Meilisearch gère les mises à jour atomiques par document, mais un import massif consomme CPU et peut dégrader l'expérience utilisateur.
Le sommet : un index rapide sans rebuild automatisé est une dette
La cohérence finale se mesure en comparant le nombre de documents indexés à la source — pas en vérifiant que le conteneur répond sur le port 7700.
Décider et avancer sans angle mort
Avant la mise en production, bloquez une demi-journée pour trois livrables concrets. Documentez le pipeline de réindexation (script, durée estimée, contacts astreinte). Persistez meili_data sur SSD avec monitoring disque et alerte à 80 %. Automatisez les dumps vers un stockage objet externe, puis exécutez un test de restauration trimestriel calendrier.
Choisissez un hébergeur où vous pouvez snapshotter le volume ou exporter facilement — parcourez l'annuaire pour comparer VPS et cloud avec stockage bloc rapide. Si Meilisearch partage le même serveur que l'application, prévoyez une fenêtre de maintenance pour les réindexations complètes et communiquez-la au support.
Questions fréquentes
Meilisearch remplace-t-il Elasticsearch pour tout projet ?
Non. Meilisearch excelle en recherche tolérante aux fautes sur catalogues modestes à moyens. Les agrégations complexes, l'analyse de logs ou le scale multi-téraoctets restent le domaine d'Elasticsearch ou OpenSearch.
Comment sauvegarder Meilisearch proprement ?
Utilisez dump ou snapshot sur volume persistant, ou reconstruisez depuis la source de vérité. Testez la restauration, pas seulement la création du fichier de sauvegarde.
Puis-je héberger Meilisearch sur le même VPS que l'app ?
Oui pour des catalogues modestes avec 1 à 2 Go de RAM dédiée et un SSD. Surveillez les pics d'indexation et isolez le répertoire de données.
Que faire après un crash sans backup ?
Lancez une réindexation complète depuis la base ou le CMS — d'où l'intérêt du script documenté et testé à l'avance.
Meilisearch est rapide à installer et lent à regretter — à condition que la reconstruction soit aussi rapide que la recherche.
