Search & discovery

Meilisearch

Moteur de recherche auto-hébergeable, tolérant aux fautes de frappe, mêlant recherche par mots-clés et sémantique derrière une seule API REST

meilisearch/meilisearchRust59,175 as of 2026-09-04
By Jake Luo · Published 4 sept. 2026

Meilisearch est un moteur de recherche que vous faites tourner vous-même : un unique binaire Rust doté d'une API REST qui offre à un site ou à une application des résultats tolérants aux fautes de frappe et affichés au fil de la saisie, et qui peut mêler correspondance par mots-clés et recherche sémantique dans une seule requête. Le projet comptait 59 175 étoiles GitHub au 4 septembre 2026 et a publié la v1.53.1 le 13 août 2026, avec un cœur sous licence MIT et un petit ensemble de fonctions de mise à l'échelle sous une licence commerciale distincte. Pour un fondateur, ce qui mérite d'être planifié n'est pas le champ de recherche. C'est que les requêtes qu'on y tape sont l'étude de la demande la moins chère à votre disposition, et que rien ne les enregistre si vous ne le décidez pas.

Ce qu'est Meilisearch

Meilisearch (github.com/meilisearch/meilisearch) est un moteur de recherche écrit en Rust par Meili SAS, une société basée en France. Vous lancez le binaire, poussez des documents JSON dans un index et l'interrogez en HTTP ; des bibliothèques clientes officielles existent pour la plupart des langages. Le projet a démarré en avril 2018 et son développement ne s'est pas interrompu : les versions se sont enchaînées de la v1.52.0 le 3 août 2026 à la v1.53.1 le 13 août 2026, la branche principale reçoit des commits fonctionnels presque tous les jours, et 315 tickets étaient ouverts au moment du relevé.

  • La tolérance aux fautes et la recherche au fil de la saisie sont livrées par défaut Vous n'avez pas à régler une chaîne de pertinence pour obtenir un champ utilisable. L'objectif annoncé par le projet est un résultat en moins de 50 millisecondes, et une requête mal orthographiée trouve quand même.
  • La recherche hybride tient en une requête Correspondance par mots-clés et recherche vectorielle sont combinées : une formulation ne partageant aucun mot avec vos documents peut malgré tout correspondre par le sens. Le modèle d'embedding, c'est vous qui le fournissez.
  • Filtres, facettes, tri et géo sont inclus Ce sont les pièces qui transforment un champ de recherche en interface d'exploration : la différence entre consulter une donnée et laisser les gens parcourir un catalogue.
  • Le multi-locataire passe par des jetons de locataire Des clés restreintes limitent ce que chaque utilisateur peut voir, et c'est ainsi qu'on met de la recherche à l'intérieur d'un produit servant de nombreux clients sans maintenir un index par client.
  • Les langues prises en charge sont annoncées explicitement, et cela compte Le projet cite un traitement optimisé pour le chinois, le japonais, l'hébreu et les langues à alphabet latin. Confrontez vos propres langues à cette liste plutôt que de le supposer.
  • Il se branche sur les piles d'IA Il existe une intégration LangChain et un serveur Model Context Protocol, si vous voulez qu'un agent interroge votre index plutôt qu'une personne.

La ligne de licence, et où elle passe

Cela vaut la peine d'être lu avant de s'engager, car le dépôt n'est pas simplement MIT. Son fichier LICENSE déclare `SPDX-License-Identifier: MIT AND BUSL-1.1` : la Community Edition est MIT et librement utilisable en contexte commercial, tandis qu'une Enterprise Edition — sharding et instantanés diffusés vers S3 — relève de la Business Source License 1.1, que le projet déclare interdite en production sans accord commercial. C'est un partage d'open core, et le détail utile est l'endroit où passe la ligne. Un nœud unique est entièrement MIT. Vous atteignez la frontière commerciale quand une machine ne suffit plus, ce qui pour la plupart des jeunes produits reste très lointain.

Deux points mineurs à trancher à l'installation plutôt qu'après. Il existe une option hébergée, Meilisearch Cloud, et ce n'est pas seulement de l'hébergement : le projet cite l'analytique et la supervision parmi les suppléments, ce qui est directement lié à la section suivante. Et le binaire auto-hébergé collecte par défaut une télémétrie anonymisée ; la documentation explique comment la désactiver, alors faites-en un choix conscient tant que vous êtes dans le fichier de configuration.

L'argument de croissance, c'est le journal des requêtes

La recherche interne est le seul endroit de votre site où les visiteurs vous disent, sans qu'on le leur demande et avec leurs propres mots, ce qu'ils s'attendaient à trouver. Aucune incitation à la politesse comme dans un questionnaire, et à la différence de la recherche de mots-clés le volume est faible mais l'intention est indiscutable : ces gens sont déjà sur votre site, déjà intéressés, et tapent ce qu'ils voulaient.

Meilisearch répond à la requête. Dans la version auto-hébergée, il ne vous remet pas de tableau de bord de ce qui a été demandé — l'analytique figure parmi les suppléments Cloud — la capture vous revient donc. C'est une après-midi de travail, et c'est là que se trouve tout le bénéfice. Procédez dans cet ordre.

  1. Journalisez chaque requête avec son nombre de résultats La chaîne saisie, combien de résultats sont revenus et sur quelle page elle a été tapée. Deux colonnes et un horodatage suffisent pour commencer ; vous enrichirez plus tard.
  2. Lisez d'abord les requêtes sans résultat C'est la ligne la plus précieuse de tout le journal. Quelqu'un voulait une chose assez précise pour la taper, et vous n'avez rien renvoyé. Certaines sont des fautes que le moteur aurait dû absorber, d'autres des fonctions que vous n'avez pas, d'autres encore des choses que vous avez sous un nom que personne n'emploie.
  3. Triez le reste par fréquence et lisez les vingt premières à voix haute Les mots de vos clients ne sont généralement pas ceux de votre page d'accueil. Cet écart est une étude de positionnement gratuite, et elle ne coûte que la lecture.
  4. Corrigez le vocabulaire avant le produit Les synonymes sont un changement de configuration. Si les gens cherchent « facture » et que votre produit dit « facturation », apprenez les deux à l'index avant de conclure quoi que ce soit sur la demande.
  5. Versez le reste dans le contenu et les mots-clés Une requête tapée par quelqu'un déjà présent sur votre site dit plus sur l'intention de recherche qu'une estimation de volume issue d'un outil — voir la recherche de mots-clés pour une startup.

Un avertissement tiré de notre propre expérience, car c'est le type d'échec qui se cache. Nous publions en huit langues. Nous avons un jour audité nos propres textes à la recherche d'un mot que nous avions banni de la communication client, avec une recherche à frontières de mots, et le résultat est revenu propre — alors que 149 occurrences réelles se trouvaient dans les fichiers. Le motif ne pouvait rien trouver dans du texte chinois, japonais ou coréen, qui ne sépare pas les mots par des espaces : le contrôle a renvoyé du silence, et nous avons lu ce silence comme une bonne santé. La recherche a exactement cette forme : si votre index découpe aux espaces, la requête d'une visiteuse japonaise ne renvoie rien, et votre journal se lit « personne ne cherche en japonais » au lieu de « la recherche est cassée en japonais ». Meilisearch annonce un traitement optimisé pour un ensemble précis de langues ; si vous vendez dans une écriture qui n'y figure pas, tapez vous-même une vraie requête dans cette écriture avant de faire confiance au journal.

Où il a sa place, et où non

La recherche cesse d'être un confort à peu près au moment où votre navigation ne tient plus sur un écran. Un ensemble de documentation, des archives de blog, un catalogue produit ou un annuaire franchissent cette ligne plus vite qu'on ne le croit. Notre propre site marketing l'a largement dépassée — environ 450 pages en huit langues au moment où ces lignes sont écrites — et c'est précisément la taille de corpus où un visiteur gagne à taper plutôt qu'à fouiller un menu.

Soyez honnête sur la limite, cependant : la qualité de recherche est un problème de contenu déguisé en infrastructure. Un moteur rapide posé sur des documents pauvres et mal titrés renvoie de mauvais résultats rapidement, et aucun réglage n'y remédie. L'auto-hébergement est aussi un engagement opérationnel : un processus, un disque, des sauvegardes, des mises à jour. Pour beaucoup de petits sites, la recherche intégrée de votre CMS ou un service hébergé est la bonne réponse, et Meilisearch mérite sa place lorsque vous voulez maîtriser la pertinence, en avez besoin dans votre propre application, ou tenez à savoir où vivent les données. Si vous choisissez d'abord la couche inférieure, PocketBase couvre le back-end applicatif et docmd le versant documentation.

L'ordre que nous suggérons : livrez la recherche parce que vos visiteurs en ont besoin, capturez les requêtes dès le premier jour parce que les stocker ne coûte rien et qu'on ne peut pas les récupérer rétroactivement, et lisez-les chaque mois comme une étude client et non comme un indicateur de performance. Transformer ce que vous y apprenez en pages, en positionnement et en prise de contact, c'est la moitié lente — et c'est là qu'AgentCeres — le directeur de la croissance augmenté par l'IA, sur agentceres.com — rédige à vos côtés, une personne validant tout ce qui sort.

FAQ

Ai-je besoin de Meilisearch si mon site a déjà une recherche ?
Probablement pas. Si la recherche intégrée de votre CMS, de votre framework ou de votre plateforme renvoie déjà ce qu'il faut, le problème est résolu et en changer serait du travail sans bénéfice visible. Un moteur dédié se justifie quand le corpus est assez vaste ou multilingue pour que la correspondance naïve échoue, quand la recherche doit vivre dans votre produit et non sur un site vitrine, et quand vous voulez une pertinence réellement réglable. Adoptez-le pour l'une de ces raisons, pas parce que la recherche sonne comme une infrastructure qu'on devrait posséder.
La partie MIT suffit-elle pour un produit commercial ?
Pour un déploiement sur un nœud unique, oui : la Community Edition est MIT et le projet la déclare librement utilisable en contexte commercial. L'Enterprise Edition couvre le sharding et les instantanés diffusés vers S3 sous Business Source License 1.1, qui selon le projet exige un accord commercial pour la production. Lisez vous-même LICENSE et LICENSE-EE dans le dépôt avant de bâtir sur les fonctions de mise à l'échelle ; le partage peut bouger d'une version à l'autre, et un résumé ne remplace pas le fichier.
Qu'apprend-on réellement des journaux de recherche ?
Surtout du vocabulaire et des manques. Les requêtes sans résultat nomment ce que les gens s'attendaient à trouver chez vous : un carnet de commandes produit et contenu rédigé par vos propres visiteurs. Les requêtes fréquentes montrent avec quels mots ils désignent ce que vous vendez, et ce sont rarement ceux de votre page d'accueil. Ni l'une ni l'autre ne remplace une conversation avec des clients, mais les deux sont gratuites, continues, et se produisent déjà, que quelqu'un les lise ou non.
Related projects
PocketBaseUn backend open source en Go livré sous forme d'un seul exécutable : SQLite avec abonnements en temps réel, gestion des utilisateurs, stockage de fichiers et interface d'administration inclusdocmdCompilateur de documentation qui produit un site de docs et les fichiers de contexte lisibles par machine que consomment les systèmes d'IA, à partir d'une seule source MarkdownPayloadCMS headless et framework applicatif open source, natif Next.js, qui s'installe dans votre dossier app existant

You built it. Now grow it.

AgentCeres is a managed AI marketing team — specialists draft the SEO, social, and outreach that fill your links, you approve what ships. 14-day free trial, from $39/month.

Start free trialMore projects