4.3 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Meilisearch | 2026-06-08 | 2026-06-08 | app |
|
high | false |
|
Meilisearch 🔍
Moteur de recherche ultra-rapide, tolérant aux fautes de frappe, conçu pour offrir une expérience « Google-like » dans vos apps.
| Métadonnée | Valeur |
|---|---|
| Site web | https://www.meilisearch.com |
| GitHub | https://github.com/meilisearch/meilisearch |
| License | MIT |
| Langage | Rust |
| Étoiles | 58 007 |
| Dernière MAJ | 2026-06-05 |
| Catégorie | cat-search |
Description
Meilisearch est un moteur de recherche full-text écrit en Rust, conçu pour ingérer des millions de documents et répondre en moins de 50 ms. Il se distingue d'Elasticsearch par sa simplicité radicale : pas de cluster à configurer, pas de JVM à tuner, pas de mappings verbeux. Une seule image Docker, une API REST claire, et c'est en ligne.
L'algorithme interne combine un index inversé maison avec une recherche typo-tolérante (1-2 fautes acceptées), des synonymes configurables, des facettes, du filtrage par attributs, de la recherche géolocalisée et du reranking par pertinence customisable. Les SDK officiels couvrent plus de 30 langages (JS, Python, Go, Rust, PHP, Ruby, Java, Swift, Kotlin, etc.).
Meilisearch est utilisé en production par des startups et grands comptes (Leboncoin, Photoshot, Linagora) pour alimenter la recherche d'e-commerce, de documentation, de SaaS, de wikis ou d'archives. Sa version Cloud est optionnelle : l'auto-hébergement reste 100 % fonctionnel et gratuit.
Installation
Docker Compose
services:
meilisearch:
image: getmeili/meilisearch:v1.10
container_name: meilisearch
environment:
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
- MEILI_NO_ANALYTICS=true
- MEILI_ENV=production
- MEILI_HTTP_ADDR=0.0.0.0:7700
- MEILI_DB_PATH=/meili_data
volumes:
- ./data:/meili_data
ports:
- "7700:7700"
labels:
- traefik.enable=true
- traefik.http.routers.meili.rule=Host(`search.example.com`)
- traefik.http.routers.meili.entrypoints=websecure
- traefik.http.routers.meili.tls.certresolver=letsencrypt
- traefik.http.services.meili.loadbalancer.server.port=7700
restart: unless-stopped
binaire
curl -L https://install.meilisearch.com | sh
./meilisearch --master-key=YOUR_KEY
Configuration
- Démarrer le conteneur et générer une clé maître forte (32 caractères minimum) stockée dans
.env. - Créer un index via l'API :
curl -X POST 'http://localhost:7700/indexes' -H 'Authorization: Bearer ...' -d '{"uid":"products","primaryKey":"id"}'. - Configurer les réglages de recherche (
searchableAttributes,filterableAttributes,sortableAttributes,rankingRules). - Indexer vos documents :
POST /indexes/products/documentsavec un tableau JSON. - Activer l'interface Meilisearch Insights ou un front tiers (InstantSearch, DocSearch) pour visualiser les requêtes.
Alternatives
- Open source : Typesense (similaire, Java), Elasticsearch / OpenSearch (distribué, JVM), Sonic (léger, C), Manticore Search (C++), Apache Solr, ZincSearch (Go, single binary), Bleve (Go in-process).
- Propriétaire : Algolia (référence SaaS, payant), Coveo, Constructor.io, Elastic Cloud, Amazon CloudSearch.
Sécurité
- Clé maître obligatoire en production : génère des API keys à权限 fine (admin, search, scoped).
- Tenant tokens pour isoler les recherches par utilisateur côté frontend.
- Pas de télémétrie par défaut si
MEILI_NO_ANALYTICS=true. - Chiffrement TLS via reverse proxy (Traefik, Caddy) — Meilisearch ne fait pas de HTTPS en natif.
- Snapshots automatiques sur disque, exportables pour sauvegarde hors-ligne.
Ressources
- Code : https://github.com/meilisearch/meilisearch
- Documentation : https://www.meilisearch.com/docs
- Playground : https://cloud.meilisearch.com
- Issues : https://github.com/meilisearch/meilisearch/issues
Pages Liées
- cat-search — Catégorie parente
- app-searxng — Méta-moteur de recherche Web
- app-whoogle — Front-end Google sans tracking
- recettes-docker-compose — Modèles de stacks