Files
2026-06-09 18:40:21 +02:00

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
catalogue
search
self-hosted
rust
high false
https://www.meilisearch.com
https://github.com/meilisearch/meilisearch

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

  1. Démarrer le conteneur et générer une clé maître forte (32 caractères minimum) stockée dans .env.
  2. Créer un index via l'API : curl -X POST 'http://localhost:7700/indexes' -H 'Authorization: Bearer ...' -d '{"uid":"products","primaryKey":"id"}'.
  3. Configurer les réglages de recherche (searchableAttributes, filterableAttributes, sortableAttributes, rankingRules).
  4. Indexer vos documents : POST /indexes/products/documents avec un tableau JSON.
  5. 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

Pages Liées