Meilisearch
Gratuit
Meilisearch est un
Meilisearch AI : Démantèlement des capacités de recherche IA des moteurs de recherche open source
Paramètres et statistiques de base
| Paramètre | Valeur |
|---|---|
| Positionnement du produit | Un moteur de recherche open source pour les développeurs, avec une réponse extrêmement rapide et une recherche sémantique IA comme principal atout |
| Formulaire de base | API de recherche + image Docker + service cloud géré |
| Utilisateurs cibles | Développeurs Web/mobiles, équipes produits SaaS, applications gourmandes en données |
| Pile technologique de base | Moteur natif Rust, index inversé, recherche d'intégration de vecteurs, tolérance orthographique, recherche fédérée |
| Contrat de licence | MIT (le moteur principal est entièrement open source) |
| Méthode de déploiement | Docker auto-hébergé / Meilisearch Cloud (AWS Europe/Région États-Unis) |
| Langages de programmation | Rust (moteur de base) |
| Société mère | Meilisearch SAS (Paris, France) |
| Étoiles GitHub | Environ 50 000+ |
| Volume d'extraction Docker | Plus de 100 millions de fois (sur la base des données publiques du Docker Hub) |
Meilisearch a formé un duo avec Typesense sur le marché de la recherche open source. Les deux sont positionnés comme des « alternatives Elasticsearch », mais il existe des différences significatives dans les itinéraires techniques et les stratégies d’exécution. Les avantages différenciés de Meilisearch se reflètent à trois niveaux : Moteur principal Rust - Comparé à la pile Java d'Elasticsearch et au cœur C++ de Typesense, Rust présente des avantages inhérents en termes de sécurité de la mémoire et de performances de concurrence, et le débit est 2 à 5 fois plus élevé avec le même matériel ; Licence MIT - Elle est plus souple que la licence GPL de Typesense, et il n'y a pas lieu de s'inquiéter de la contagion du copyleft lors de l'intégration d'entreprises. C'est pourquoi de nombreuses entreprises commerciales choisissent Meilisearch au lieu de Typesense. Motivation juridique ; Recherche sémantique intégrée - La recherche de vecteurs est prise en charge dans la version v1.0 et Typesense n'a ajouté cette fonctionnalité que dans les versions ultérieures. D'un point de vue architectural, Meilisearch recherche des « performances prêtes à l'emploi » : la configuration par défaut peut offrir une excellente expérience, tandis qu'Elasticsearch nécessite de nombreux réglages pour atteindre des performances de niveau production.
Reconnaissance des utilisateurs et du marché
La pénétration du marché de Meilisearch présente un modèle à deux roues motrices d'« adoption à long terme par la communauté et l'entreprise », qui complète l'écosystème dirigé par les grandes usines d'Elasticsearch.
Écologie communautaire : GitHub compte environ 50 000+ étoiles et plus de 800 contributeurs formant une communauté de développeurs active. Les discussions actives quotidiennes sur la chaîne officielle Discord se concentrent sur l'optimisation des performances, la segmentation des mots chinois et l'expérience du service cloud. Les plug-ins et les intégrations fournis par la communauté couvrent les frameworks Web grand public tels que Laravel, Rails, Django et Symfony, ainsi que les méta-frameworks front-end tels que Nuxt et Next.js. Cette stratégie « d'intégration native du framework » réduit les coûts d'essais et d'erreurs des développeurs : il ne faut que 10 minutes entre la lecture de la documentation et l'exécution de la recherche.
Adoption par les entreprises : les cas d'adoption accessibles au public couvrent le commerce électronique (détaillants de mode, plateformes de commerce d'occasion), le SaaS (outils de gestion de projet, systèmes de support client), les plateformes de contenu (sites Web d'actualités, centres de documentation) et d'autres domaines. La première plateforme e-commerce française et plusieurs sociétés SaaS européennes ont adopté Meilisearch comme moteur principal de recherche sur site. Cependant, par rapport au marché américain (dominé par Algolia et Elastic Cloud), la notoriété de la marque Meilisearch en Amérique du Nord peut encore s'améliorer. La base d'utilisateurs actuelle est principalement constituée de développeurs européens et d'Asie-Pacifique.
Analyse comparative du secteur : dans la dimension « expérience des développeurs » des moteurs de recherche open source (voir l'enquête sur l'écosystème des développeurs JetBrains), Meilisearch continue de mener Elasticsearch dans les deux indicateurs de « facilité d'utilisation » et de « qualité des documents ». Des tests de comparaison de performances tiers (tels que le benchmark de la communauté open source) montrent que la latence de recherche médiane de Meilisearch dans un scénario de 10 millions de documents à nœud unique est d'environ 1/3 à 1/5 de celle d'Elasticsearch. Cependant, le débit d'importation de données est faible dans la configuration par défaut et le tampon d'écriture doit être réglé pour atteindre le niveau équivalent.
Évaluation des médias techniques : InfoWorld a qualifié Meilisearch de "l'alternative open source la plus puissante à Elasticsearch" dans son évaluation, et PCMag a souligné son avantage en termes de "vitesse de démarrage des développeurs". Les discussions sur Meilisearch dans les communautés techniques chinoises (telles que Nuggets V2EX) se concentrent sur la comparaison de sélection avec Typesense. La simplicité de la conception de son API est généralement reconnue, mais le problème de granularité de la segmentation des mots chinois est également fréquemment évoqué. La segmentation de mots de termes standards tels que « intelligence artificielle » fonctionne bien, mais lorsqu'on rencontre des termes techniques composites tels que « imperméabilisation à nano-revêtements », les résultats de la segmentation de mots peuvent sembler couper « nano-revêtement » en deux mots indépendants « nano » et « revêtement », affectant le taux de rappel des recherches précises.
Avantage de coût
La structure des coûts de Meilisearch doit être divisée en trois couches : « frais de licence logicielle + frais d'infrastructure + main d'œuvre d'exploitation et de maintenance ». Le coût total de possession (TCO) selon différentes préférences peut varier de plus de 10 fois.
Auto-hébergement côté C/open source - aucun coût pour le logiciel, l'infrastructure est à votre charge :
- La licence MIT signifie qu'il n'y a pas de frais de licence et qu'elle peut être utilisée gratuitement dans des projets commerciaux, y compris des logiciels commerciaux fermés.
- Le seuil matériel minimum pour l'auto-hébergement est faible : 2 Go de mémoire + 1 cœur de processeur sont recommandés pour exécuter des index de petite et moyenne taille (dans la limite d'un million de documents). Une instance de serveur cloud à faible configuration (telle que 4 Go de RAM, 2 cœurs SSD de 50 Go, environ 200 ¥/mois) peut héberger de petites recherches de sites de commerce électronique sans coûts logiciels supplémentaires.
- Mais attention : la réplication maître-esclave intégrée nécessite des nœuds supplémentaires, le déploiement haute disponibilité nécessite au moins un cluster à 3 nœuds et les coûts d'infrastructure augmentent de manière linéaire.
API/Développeur - Hébergement cloud, paiement à l'utilisation, zéro charge d'exploitation et de maintenance :
- Meilisearch Cloud fournit un quota gratuit d'environ 100 000 recherches/mois, après quoi il sera facturé en fonction des spécifications et de l'utilisation.
- Le nœud de démarrage coûte environ 50 à 100 $/mois (y compris 1 million de recherches + 1 Go de stockage d'index), adapté aux projets de petite et moyenne taille avec une moyenne de milliers de recherches par jour.
- Moins de transparence des prix et de flexibilité des enchères qu'AWS OpenSearch Serverless, mais meilleur sans configuration : pas de clusters à gérer, pas de partitionnement à régler et une qualité de recherche de niveau production prête à l'emploi.
- Il est recommandé de comparer le TCO de l'auto-hébergement dans des scénarios d'appels d'API à haute fréquence : en prenant comme exemple une moyenne de 5 millions de recherches par mois pour un index de 50 Go, les frais annuels pour l'hébergement cloud sont d'environ 3 000 à 6 000 $, et l'auto-hébergement nécessite une instance à 4 cœurs de 16 Go pour environ 500 à 800 ¥/mois (6 000 à 9 600 ¥ par an)+. main d'œuvre de maintenance, il n'y a pas beaucoup de différence entre les deux à la même échelle. Cependant, une fois que l'auto-hébergement a plus d'exploitation et de maintenance, l'avantage caché de l'hébergement cloud est qu'il ne nécessite pas d'exploitation et de maintenance.
Entreprise/Privatisé – Cluster exclusif, négociation commerciale requise :
- Prend en charge les recherches illimitées depuis Starlite (version de départ 3 000 à 6 000 ¥/mois, environ 100 000 recherches) jusqu'au niveau Entreprise. Le prix doit être obtenu en contactant le service commercial via le site officiel.
- L'intégration SSO, les journaux d'audit, le SLA personnalisé et l'isolation des nœuds dédiés sont des points d'entrée pour des scénarios avec des exigences de conformité élevées (finances, affaires gouvernementales).
- Par rapport à l'auto-hébergement, l'avantage principal de la version entreprise réside dans « l'exploitation et la maintenance gratuites » et la « garantie SLA » - dans l'auto-hébergement, si un nœud tombe en panne et que la recherche n'est pas disponible, l'équipe doit le gérer elle-même ; dans la version hébergée dans le cloud, Meilisearch est responsable de la stabilité de l'infrastructure.
Comparaison des prix des produits compétitifs :
| Dimension du coût | Meilisearch auto-hébergé | Nuage Meilisearch | Nuage de type sens | Algolie | Nuage élastique |
|---|---|---|---|---|---|
| Licences de logiciels | Gratuit (MIT) | Gratuit (basé sur l'utilisation après le quota gratuit) | Gratuit (GPL) | Par utilisation | Par utilisation |
| Coût de départ | Serveur à partir de 200 ¥/mois | 50-100$/mois | 75-150$/mois | 100-300$/mois | À partir de 95$/mois |
| Paiement annuel de 10 millions de recherches | Serveur 3 000 à 6 000 ¥ | 3 000 à 6 000 $ | ~4 500 $ | ~12 000 $ | ~10 000 $ |
| Coût de l'équipe d'exploitation et de maintenance | Nécessite 0,2 à 0,5 jours-homme/semaine | 0 | 0 | 0 | 0,1-0,3 jours-homme/semaine |
| Risque lié aux licences commerciales | Aucun (MIT) | Aucun | Risque de contagion GPL | Verrouillage du fournisseur | Verrouillage du fournisseur |
Conclusion clé : Pour les projets de taille moyenne avec une équipe technique complète (capable de gérer Docker ainsi que l'exploitation et la maintenance de base), l'auto-hébergement est la solution de coût optimale (environ 1/3-1/2 d'un service SaaS de même taille) ; pour les équipes composées de 10 personnes. Pour les start-up qui souhaitent se concentrer sur leur cœur de métier, la prime « sans fonctionnement ni maintenance » de l'hébergement cloud en vaut vraiment la peine ; pour les projets financiers et gouvernementaux sensibles à la conformité des données, le cloud privé d'entreprise est la seule option, mais il convient de noter qu'il existe une grande marge de négociation sur les prix. Il est recommandé de comparer pleinement le TCO à long terme de l’auto-hébergement avant de prendre une décision.
Fonctions principales
La conception fonctionnelle de Meilisearch s'articule autour des trois lignes de capacités « immédiateté de l'expérience de recherche + pertinence des résultats + commodité d'intégration ». Il ne fournit pas de bibliothèque d'algorithmes de recherche, mais une couche d'infrastructure de recherche prête à l'emploi.
-
Recherche au fur et à mesure de la frappe : une requête est déclenchée chaque fois que l'utilisateur saisit un caractère et le système renvoie les résultats dans un délai de 50 ms. La réalisation de cette expérience repose sur deux couches d'optimisation : le front-end utilise l'anti-rebond pour contrôler la fréquence des requêtes, et le back-end utilise la structure d'index de préfixe (Prefix Index) pour garantir que les documents candidats peuvent être rapidement localisés même si seulement 3 caractères sont saisis. Pour les scénarios d'interaction à haute fréquence tels que les recherches dans le commerce électronique, la recherche en temps réel peut augmenter directement l'exposition du produit de 20 à 30 % : les utilisateurs qui voient une liste de produits complétée en temps réel sont plus susceptibles de déclencher des clics que de saisir eux-mêmes des mots-clés complets.
-
Tolérance orthographique et correspondance approximative (tolérance aux fautes de frappe) : Corrigez automatiquement les fautes d'orthographe, la tolérance par défaut est de 1 erreur de caractère par mot (configurable). Le mécanisme de mise en œuvre est l'algorithme de distance d'édition (Levenshtein Distance), qui non seulement prend en charge l'anglais, mais a également une certaine tolérance aux erreurs pour les erreurs de saisie du pinyin chinois. Par exemple, la recherche de « aluminium » peut toujours correspondre à « aluminium », et « iPhone » et « iPhone » peuvent également renvoyer les mêmes résultats. Dans des scénarios réels, environ 10 à 15 % des requêtes de recherche sur le commerce électronique contiennent des fautes d’orthographe. La tolérance aux fautes de frappe réduit directement la frustration des « résultats nuls » et a un impact positif quantifiable sur les taux de conversion de recherche.
-
Recherche sémantique (incorporation de vecteurs) : prise en charge intégrée de l'intégration de vecteurs qui convertit le texte en vecteurs de grande dimension et effectue une correspondance sémantique via la similarité cosinus. Par rapport à la correspondance de mots clés BM25 traditionnelle, la recherche sémantique comprend l'équivalence sémantique entre différentes expressions telles que « ordinateur portable » et « ordinateur portable ». Meilisearch prend en charge la génération de vecteurs via des modèles Hugging Face ou des modèles d'intégration auto-entraînés sans avoir besoin de déployer des bases de données vectorielles supplémentaires. L'intérêt pratique de cette fonctionnalité réside dans le fait que les utilisateurs n'ont pas besoin de connaître les mots exacts utilisés dans le document pour trouver le contenu pertinent, ce qui est particulièrement adapté aux recherches dans les bases de connaissances et aux plateformes de contenu communautaire.
-
Recherche fédérée : une requête API s'étend sur plusieurs index indépendants et renvoie des résultats triés conjointement. Supposons qu'un SaaS de gestion de projet nécessite une recherche globale. Une seule requête peut interroger simultanément les cinq index de projets, de tâches, de commentaires, de pièces jointes et de personnes, et les renvoyer par ordre de pertinence globale. Cela réduit non seulement le temps d'attente pour plusieurs requêtes au niveau du front-end, mais évite également le problème de perception des « résultats mitigés de différents types de données » grâce à une stratégie de tri unifiée.
-
Segmentation de mots et règles de tri multilingues : segmentation de mots multilingue intégrée (y compris le chinois, le japonais, le coréen, l'arabe, etc.), aucun plug-in ou configuration supplémentaire n'est requis. La segmentation des mots chinois est basée sur l'algorithme MMSEG, qui a de bons effets de segmentation des mots sur les expressions quotidiennes et les termes professionnels courants. Les règles de tri prennent en charge la combinaison de chaînes - vous pouvez trier par « Pertinence > Prix croissant > Heure de la dernière mise à jour > Évaluation personnalisée » pour obtenir une expérience de tri composée similaire à la recherche de commerce électronique « Le plus pertinent + Le plus rentable + Le plus récent en rayon ».
-
Filtrage et recherche à facettes : prend en charge le filtrage multidimensionnel structuré des résultats de recherche - filtrage progressif basé sur des attributs tels que la marque, la gamme de prix, la couleur, la taille, etc. dans les scénarios de commerce électronique. La recherche à facettes renvoie le nombre de résultats restants pour chaque dimension en temps réel pendant le processus de filtrage, aidant ainsi les utilisateurs à comprendre « si je filtre le rouge, combien d'options reste-t-il ? »
-
Mise à jour de l'index en temps réel : prend en charge l'ajout, la suppression et la modification de documents (CRUD) pour prendre effet en quelques secondes sans reconstruire l'index. Ceci est crucial pour les scénarios de commerce électronique où les stocks changent fréquemment : après qu'un produit est retiré des étagères ou que son prix change, la recherche doit refléter le dernier statut en quelques secondes, plutôt que d'afficher des informations expirées lors de la reconstruction planifiée de l'index.
Evolution du modèle et de la version
L'itération de version de Meilisearch suit la stratégie « noyau stable + amélioration progressive ». Il ne poursuit pas de grands sauts de numéro de version, mais augmente les capacités de recherche à travers chaque petit incrément de version.
Série ### v0.x : Preuve de concept et découverte de la communauté (2018-2022)
- v0.1 - v0.10 : Première étape de prototypage. Après la création de l'équipe principale à Paris, en France, elle a d'abord utilisé MVP pour vérifier l'hypothèse du produit « Recherche Rust + retour instantané ». La conception de l'API a progressivement convergé, passant de l'imitation du style REST d'Elasticsearch au début à son propre style concis.
- v0.28 (2022) : La première version à atteindre un consensus « production disponible ». L'introduction du mécanisme d'authentification par clé API et de la réplication multi-instance a permis à la communauté d'envisager sérieusement de l'utiliser pour les environnements de production.
- v0.30 (2022) : ajout de la prise en charge de la segmentation des mots chinois et de la personnalisation des règles de tri. Cette version a été le point de départ permettant à la communauté chinoise de découvrir Meilisearch à grande échelle, et les articles techniques nationaux et les discussions communautaires ont considérablement augmenté.
Série ### v1.0 : Stabilité de niveau production et recherche sémantique (2023-2024)
- v1.0 (2023-02) : adieu officiel à la bêta et déclaration de production prête. L'API entre dans une phase stable et s'engage à assurer une compatibilité ascendante. Dans le même temps, la version bêta publique du service cloud Meilisearch Cloud a été lancée.
- v1.1 - v1.3 : optimisez les performances de l'index et le débit d'importation des données. Présentation du mécanisme de remplacement de documents pour permettre des mises à jour complètes des données sans temps d'arrêt.
- v1.4 - v1.6 : optimisation des performances de recherche et améliorations du langage de requête. La v1.4 introduit la recherche géographique (recherche par plage géographique) et la v1.6 ajoute des fonctionnalités de base pour la recherche multi-index.
- v1.7 - v1.9 : Stockage vectoriel en ligne et test de recherche embarquée. La v1.7 prend en charge expérimentalement la recherche vectorielle, la v1.8 la prend officiellement en charge et optimise le taux de compression de l'index vectoriel dans la v1.9, augmentant la capacité vectorielle sous la même mémoire d'environ 40 %.
Série ### v1.10+ : Intégration approfondie de l'IA et recherche fédérée (2025-2026)
- v1.10 (2025) : Implémenter la version officielle de la recherche sémantique (en remplacement de la version expérimentale) et introduire la fonction de recherche fédérée. Les performances de recherche vectorielle sont encore optimisées pour prendre en charge la recherche hybride - une fusion pondérée de la correspondance de mots clés BM25 et des résultats de recherche sémantique vectorielle.
- v1.11 (~2025) : Améliorez la précision de la segmentation des mots multilingues et optimisez la qualité de la segmentation des mots en arabe, en coréen et dans d'autres petites langues. La recherche fédérée ajoute la prise en charge de la cohérence de la pagination et du tri.
- v1.12 (~2026) : Poursuivre l'itération de l'expérience de recherche instantanée, optimiser le mécanisme d'expansion et de contraction automatique des services cloud et améliorer les performances de la recherche sémantique sur du texte mixte multilingue. La version 1.13 devrait introduire l'intégration native de Retrieval Augmentation Generation (RAG), étendant Meilisearch d'un « outil de recherche » à une partie intégrante d'un « pipeline de récupération de connaissances sur l'IA ».
Description du rythme de version : Meilisearch n'a pas de calendrier de sortie fixe et le rythme de sortie de la version est déterminé par les contributions de la communauté et les besoins de l'entreprise. Les mises à jour des versions de la plateforme cloud sont généralement en retard de 2 à 4 semaines par rapport aux versions open source pour effectuer une vérification supplémentaire de la stabilité. L'alignement des fonctionnalités entre la version communautaire open source et la plate-forme cloud a atteint son plus haut niveau dans la version 1.12, et la plate-forme cloud n'a plus de décalage de fonctionnalités à long terme.
Avantages techniques
L'avantage technique de Meilisearch n'est pas simplement d'empiler « la prise en charge de tel ou tel algorithme », mais de trouver un équilibre entre « vitesse de réponse de recherche » et « efficacité des ressources » qui est différent des autres moteurs de recherche grâce au modèle de concurrence natif de Rust et à l'innovation de la structure d'index.
Avantages en termes de performances du moteur principal Rust : Les opérations sous-jacentes du moteur de recherche (segmentation des mots, recherche inversée, calcul de notation) sont intrinsèquement des opérations gourmandes en CPU et en E/S. Le modèle d'abstraction et de propriété sans coût de Rust permet à Meilisearch de compiler ces opérations avec des performances proches du C écrit à la main, tout en évitant les problèmes de sécurité tels que les pointeurs suspendus et les débordements de tampon en C/C++. Spécifique au scénario de recherche, le système de propriété de Rust permet d'optimiser la disposition de la mémoire de la structure des données pendant la phase de chargement de l'index, de sorte qu'il n'y a presque pas de pause GC pendant la recherche - ceci est qualitativement différent du réglage GC JVM basé sur Java d'Elasticsearch. La pause GC de ce dernier peut atteindre le deuxième niveau lorsque la mémoire du tas dépasse 32 Go, ce qui affecte directement le délai de latence de recherche P99.
Mappage technique de l'index de préfixe et de la recherche instantanée : Meilisearch construit une couche d'index de préfixe (Index de préfixe) au-dessus de l'index inversé pour optimiser spécifiquement le mode de requête de « recherche en tapant ». Cette structure d'index mappe chaque fragment de préfixe saisi par l'utilisateur à l'ensemble d'ID de document correspondant, garantissant que les résultats peuvent être renvoyés rapidement même dans un état d'information faible de 2 à 3 caractères. Comparé à Elasticsearch, qui s'appuie sur une combinaison de Completion Suggester ou Edge Ngram tokenizer dans des scénarios de recherche en temps réel, l'index de préfixe de Meilisearch est intégré de manière native et le coût de configuration est presque nul : les utilisateurs n'ont pas besoin de comprendre « qu'est-ce que ngram » pour obtenir une excellente expérience de recherche en temps réel.
Mécanisme de recherche hybride : la recherche hybride introduite dans la v1.10 combine les résultats de la correspondance de mots clés BM25 traditionnelle et de la recherche sémantique vectorielle avec une fusion pondérée. La logique de base est la suivante : lorsque les mots-clés saisis par l'utilisateur correspondent clairement à un terme dans le document, BM25 apporte plus de poids ; lorsque l'utilisateur saisit un langage descriptif et vague, la correspondance sémantique de la recherche vectorielle apporte plus de poids. Il existe deux modes pour les poids de fusion : automatique (ajusté dynamiquement par le système en fonction des caractéristiques de la requête) et manuel (le développeur spécifie le rapport de poids du BM25 et des vecteurs via les paramètres API). Dans des tests réels, la recherche hybride peut améliorer le taux de rappel des requêtes à longue traîne d'environ 15 à 30 % par rapport au BM25 pur, tout en conservant la précision des requêtes à haute fréquence.
Efficacité des ressources et seuil matériel : en prenant comme exemple un index de commerce électronique typique avec 10 millions de documents et 50 champs, l'utilisation de la mémoire de Meilisearch est d'environ 1/3 à 1/2 d'Elasticsearch, et le volume de stockage de l'index est d'environ 1/2 d'Elasticsearch. Cela signifie qu'un serveur cloud doté de 4 Go de mémoire peut effectuer des recherches sur des millions de documents et des centaines de QPS. Avec le même budget matériel, l'échelle commerciale que Meilisearch peut prendre en charge est environ 2 à 3 fois supérieure à celle d'Elasticsearch. Ceci est déterminé par la faible surcharge de mémoire de Rust et la philosophie de conception de Meilisearch (« l'index ne stocke que les données requises pour la recherche ») - Elasticsearch est un moteur de recherche général et l'index contient un grand nombre de structures de données pour l'analyse d'agrégation (Agrégation), tandis que Meilisearch abandonne certaines capacités d'analyse en échange d'une taille d'index plus compacte.
Différences architecturales par rapport aux produits concurrents :
| Dimensions comparatives | Recherche Meili | Sens de la typographie | Recherche élastique |
|---|---|---|---|
| Langue de base | Rouille | C++ | Java |
| Efficacité du stockage des index | ★★★★★ (compacte) | ★★★★☆ | ★★★☆☆ |
| Prise en charge native de la recherche instantanée | ★★★★★ (natif) | ★★★★☆ | ★★★☆☆ (nécessite un plug-in) |
| Recherche sémantique intégrée | ★★★★★ | ★★★☆☆ (pris en charge par les versions ultérieures) | ★★★★☆ (nécessite un plug-in) |
| Évolutivité du cluster | ★★★☆☆ | ★★★☆☆ | ★★★★★ |
| Capacités d'analyse d'agrégation | ★★☆☆☆ | ★★☆☆☆ | ★★★★★ |
| Simplicité des API | ★★★★★ | ★★★★☆ | ★★★☆☆ |
| Qualité de segmentation des mots chinois | ★★★☆☆ | ★★★☆☆ | ★★★★☆ |
Comment utiliser
Le chemin d'utilisation de Meilisearch couvre toutes les étapes, depuis le « démarrage d'une commande en une seule ligne » jusqu'à « l'intégration approfondie dans les systèmes de production ». L'entrée principale est l'image Docker et l'API HTTP.
Démarrage rapide (mode auto-hébergé) :
# Utilisez Docker pour démarrer Meilisearch (la recherche sémantique est activée par défaut)
docker run -it --rm \
-p7700:7700\
-e MEILI_MASTER_KEY=votre_clé_maître \
-v $(mdp)/meili_data:/meili_data \
getmeili/meilisearch:v1.12
Une fois le service démarré, accédez à l'interface de gestion Web via « http://localhost:7700 » (nécessite une clé API) ou effectuez des opérations d'indexation via l'API HTTP. L'interface de gestion fournit des fonctions de navigation dans l'index, de test de recherche et de visualisation de la configuration, adaptées au débogage pendant la phase de développement.
Exemple d'appel d'API de recherche :
# Ajouter des documents à l'index
curl -X POST 'http://localhost:7700/indexes/products/documents' \
-H 'Autorisation : Porteur de votre_clé_maître' \
-H 'Type de contenu : application/json' \
-d '[
{
"identifiant": 1,
"title": "Sweat à capuche noir",
"description": "Tissu pur coton, adapté aux vêtements d'automne et d'hiver",
"prix": 299,
"marque": "UrbanFashion",
"categories": ["hauts", "sweats"]
}
]'
# Effectuer une recherche instantanée (demander chaque caractère saisi)
boucle 'http://localhost:7700/indexes/products/search,q=hoodie&limit=20'
# Recherche avec filtrage et tri
curl 'http://localhost:7700/indexes/products/search' \
-H 'Type de contenu : application/json' \
-d '{
"q": "sweat à capuche",
"filter": "prix >= 100 ET prix <= 500",
"sort": ["prix:asc"],
"facetsDistribution": ["marque", "catégories"],
"limite": 20
}'
Étapes de configuration de la recherche sémantique :
- Définissez
--enable-vector-searchau démarrage ou activez la recherche vectorielle via la variable contextuelleMEILI_ENABLE_VECTOR_SEARCH=true. - Sélectionnez un modèle d'intégration (le modèle par défaut prend en charge la génération de vecteurs via le modèle Hugging Face, tel que
sentence-transformers/all-MiniLM-L6-v2). - Spécifiez le champ pour lequel les vecteurs doivent être générés dans les paramètres d'index (généralement un champ de description textuelle).
- Activez la recherche hybride (BM25 + sémantique vectorielle) via le paramètre « hybrid : true » lors de la recherche.
Processus d'utilisation du service cloud :
- Visitez « https://cloud.meilisearch.com » pour créer un compte.
- Créez un projet et sélectionnez une spécification de nœud (Starter/Standard/Enterprise).
- Obtenez l'hôte API et la clé API.
- Les opérations d'indexation et de recherche sont effectuées via exactement la même interface API que l'auto-hébergement, seule l'adresse du point de terminaison est différente.
Suggestions de déploiement liées à la production :
- Configuration haute disponibilité : au moins 3 nœuds forment un cluster et chaque nœud est configuré avec une réplication maître-esclave. La topologie de cluster de Meilisearch est relativement simple et ne dispose pas du mécanisme complexe de routage de partitions d'Elasticsearch, ce qui la rend adaptée aux clusters de petite et moyenne taille.
- Sauvegarde des données : effectuez régulièrement des sauvegardes d'instantanés du répertoire
meili_data; la version du service cloud inclut automatiquement des instantanés quotidiens. - Surveiller : surveillez le point de terminaison
/_healthet recherchez les métriques de latence. Il est recommandé de déclencher une alarme lorsque le délai de recherche dépasse 100 ms. Pour une expérience de recherche instantanée, 100 ms est le point critique de la perception de l'utilisateur. - Réchauffement de l'index : pour les termes de recherche connus à haute fréquence, les pages d'index à chaud peuvent être chargées en mémoire via des requêtes de préchauffage pour éviter le premier retard de recherche lors du démarrage à froid.
Prix des produits
Le système de tarification de Meilisearch adopte une structure à trois niveaux : « service cloud open source gratuit + paiement à l'utilisation + personnalisation de la version entreprise », qui est très compétitive en termes de coûts dans les scénarios à petite et moyenne échelle par rapport aux produits concurrents.
Édition Open Source (auto-hébergée) : Licence MIT, entièrement gratuite. Le moteur principal n'a aucune restriction de fonction et les fonctionnalités avancées telles que la recherche sémantique et la recherche fédérée sont toutes open source et disponibles. Configuration matérielle recommandée :
- Développement/Petite échelle (<100 000 documents) : 2 Go de RAM, 1 cœur, 10 Go SSD
- Échelle moyenne (100 000 à 5 millions de documents) : 4 Go de RAM, 2 cœurs, 50 Go de SSD
- À grande échelle (5 à 50 millions de documents) : 8 Go+ de RAM, 4+ cœurs, 200 Go+ SSD
Version d'hébergement cloud (Meilisearch Cloud) :
- Starter : environ 50 à 100 $/mois, 1 million de recherches/mois, 1 Go d'index, un seul nœud. Convient aux petits projets et aux produits de vérification.
- Standard : environ 300 à 500 $/mois, 5 millions de recherches/mois, index de 10 Go, haute disponibilité multi-nœuds. Produits adaptés au stade de croissance.
- Entreprise : veuillez contacter le service commercial pour connaître le prix. Trafic illimité, clusters dédiés, intégration SSO, journaux d'audit, SLA personnalisé et déploiement multirégional mondial.
Quota gratuit : le service cloud offre un quota d'essai gratuit d'environ 100 000 recherches/mois, et aucune carte de crédit n'est requise. Ceci est très convivial pour les premiers projets en phase de preuve de concept (PoC) et MVP : le coût est presque nul du développement au lancement, et la facturation ne commence qu'une fois que le volume de recherche dépasse le quota.
Comparaison des prix avec des produits concurrents (sur la base d'une moyenne de 1 million de recherches par mois pour un index de 5 Go) :
| Prestataire de services | Coût mensuel (estimation) | Si la recherche vectorielle est incluse | Externalisation d'exploitation et de maintenance |
|---|---|---|---|
| Meilisearch Auto-hébergé | ~ 30-50 $ (coût du serveur) | Oui | Non |
| Nuage Meilisearch | ~50-100$ | Oui | Oui |
| Nuage de type sens | ~75-150$ | Oui (version tardive) | Oui |
| Algolie | ~100-300$+ | Non (nécessite des forfaits supplémentaires) | Oui |
| Nuage élastique | ~95-150$+ | Oui (nécessite un plugin) | Partielle |
Principaux éléments de la stratégie tarifaire : la tarification de Meilisearch Cloud ne recherche pas le « prix le plus bas absolu » : le quota gratuit d'Algolia est plus élevé pour le même volume de recherche et la remise d'entreprise d'Elastic Cloud est plus flexible - mais elle utilise la stratégie "version open source avec fonctions complètes" pour permettre aux développeurs d'utiliser toutes les fonctions gratuitement pendant la phase de développement et de passer aux services cloud payants uniquement lorsque le SLA et l'exploitation et la maintenance gratuites sont requis. Cette stratégie d'entonnoir « pré-utilisation, paiement après » est plus conviviale pour les développeurs que la stratégie de plafond strict d'Algolia consistant à « arrêter le service s'il dépasse le quota gratuit », et il est également plus facile de promouvoir la décision de « l'essai » à « l'achat formel » au sein de l'équipe.
Scénarios d'application
Les scénarios d'application de Meilisearch s'articulent autour de « l'interaction de recherche à haute fréquence + la récupération de données multi-types + l'expérience de recherche de bout en bout ». Les quatre scénarios suivants ont été vérifiés à grande échelle.
-
Recherche de sites de commerce électronique et de vente au détail : il s'agit du scénario d'application le plus abouti de Meilisearch. La recherche de produits doit répondre à la fois à une correspondance exacte (SKU du nom de la marque) et à une correspondance floue (requêtes descriptives, telles que « chaussures légères adaptées à la course »). Le mode de recherche hybride permet d'afficher en premier des résultats de correspondance précis tout en mettant en évidence les produits à longue traîne sémantiquement liés. Référence sur l'effet de mise en œuvre : après qu'une entreprise européenne de commerce électronique de mode a migré son backend de recherche de Solr qu'elle a développé elle-même vers Meilisearch, le temps de réponse moyen de la page de recherche est passé de 320 ms à 45 ms, et le taux de rebond après les recherches des utilisateurs a été réduit d'environ 12 % (sur la base des données partagées par l'équipe sur le blog technologique). L'amélioration des indicateurs commerciaux liés à la recherche repose sur la coopération de l'interface utilisateur frontale et des algorithmes de recommandation. Meilisearch lui-même ne fournit que des garanties de base en matière de vitesse et de qualité de réponse à la recherche.
-
Recherche globale de produits SaaS : dans les produits SaaS tels que les systèmes de gestion de projet CRM et de service client, les utilisateurs doivent localiser les projets, les tâches, les contacts, les bons de travail, les fichiers et autres entités en une seule recherche. La recherche fédérée évite la fastidieuse requête frontale de plusieurs points de terminaison d'API en séquence et résout également le problème de « comment trier uniformément les résultats de recherche pour différentes entités ». Conseil de mise en œuvre : La précision du tri de la recherche fédérée dépend du réglage indépendant de la corrélation de chaque index. Il est recommandé de tester la précision Top-5 de chaque index séparément pendant la phase d'intégration pour s'assurer que le tri global n'est pas freiné par un index de mauvaise qualité.
-
Base de connaissances et recherche de documents : Amélioration de la recherche dans la base de connaissances de l'entreprise (Confluence/Notion, etc.), ou recherche sur site de sites de documentation technique. La recherche sémantique est ici la plus utile : les utilisateurs peuvent effectuer une recherche sans connaître les termes exacts contenus dans le document (par exemple, en recherchant « comment déployer » alors que le document indique « guide d'installation »). Limite d'adaptation : lorsque les documents de la base de connaissances dépassent 1 million et nécessitent une récupération multilingue (comme une base de connaissances mixte chinois et anglais), il est recommandé de les diviser en deux index indépendants, chinois et anglais, et de configurer respectivement les séparateurs de mots et les modèles d'intégration. Les résultats de la recherche sont fusionnés via une recherche fédérée pour obtenir une meilleure qualité de recherche qu'un seul index multilingue.
-
Plateforme de contenu et recherche de communauté : recherche sur site de sites Web d'actualités, de plateformes de blogs et de communautés de forums. L'indicateur principal de la recherche de contenu est « la proportion d'utilisateurs qui cliquent sur un résultat après avoir lancé une recherche » - cela reflète la correspondance entre les résultats de la recherche et l'intention de l'utilisateur. La recherche instantanée et la tolérance orthographique de Meilisearch élargissent directement la gamme de requêtes pouvant être mises en correspondance, tandis que la recherche sémantique améliore les capacités de rappel lorsque « les utilisateurs ne peuvent pas dire le nom du produit mais peuvent décrire la fonction ».
Ne convient pas aux scénarios :
- Recherche de lacs de données à très grande échelle (>1 milliard de documents) : la conception de l'architecture de cluster de Meilisearch est orientée vers les petites et moyennes tailles, et l'expérience d'exploitation et de maintenance dans la gestion de dizaines de milliards de documents dans un seul cluster n'est pas aussi riche qu'Elasticsearch. Si la taille des données se chiffre en milliards et continue de croître rapidement, l'évolutivité d'Elasticsearch est davantage garantie.
- Analyse complexe des journaux et données de séries chronologiques : Meilisearch abandonne la capacité d'analyse d'agrégation (Agrégation), ne prend pas en charge l'écosystème Logstash/Kibana et ne convient pas à la surveillance des journaux APM ou aux scénarios de requête d'indicateurs de séries chronologiques. Il s'agit du propre territoire d'Elasticsearch.
- Exigences de latence extrêmement faibles pour un SaaS entièrement géré (P99 < 20 ms) : le moteur de recherche propriétaire d'Algolia présente toujours un avantage en termes de vitesse de réponse (P99 est d'environ 10 à 15 ms). Pour les scénarios extrêmement sensibles à la latence, comme la recherche de marchés de transactions financières, Algolia reste un meilleur choix.
- Scénarios de recherche avec des exigences de taux de rappel extrêmement élevées (telles que juridiques/médicales) : l'optimisation du classement de Meilisearch prend « l'expérience utilisateur » comme objectif principal (la précision Top-N est prioritaire), plutôt que « ne manquer aucun résultat » comme objectif principal (le rappel est prioritaire). Si l'objectif de recherche consiste à récupérer des affaires juridiques ou une documentation médicale complète, les fonctions de notation personnalisées d'Elasticsearch (telles que Script Score) offrent un contrôle plus granulaire.
Personnes concernées
Les groupes applicables de Meilisearch sont centrés sur les développeurs et s'étendent aux deux extrémités. Différents rôles se concentrent sur différentes dimensions de capacités.
-
Développeur Backend/Full Stack : L'"opérateur direct" des moteurs de recherche. La conception de l'API de Meilisearch est conviviale pour les développeurs back-end : l'ensemble du processus, depuis l'extraction de Docker jusqu'au premier retour de recherche, peut être effectué en 15 minutes. Le style API est proche des meilleures pratiques RESTful, les messages d'erreur sont très lisibles et il n'est pas nécessaire de comprendre les mécanismes internes du moteur de recherche (tels que l'index inversé, la stratégie de sharding TF-IDF). Portrait typique : Développé par une petite et moyenne équipe utilisant Laravel/Rails/Django, il faut trois jours pour rechercher le site d'accès au produit.
-
Chef de produit SaaS et décideur technique : le demandeur et décideur de sélection pour la fonction de recherche. Ils ne se concentrent pas sur un certain paramètre de l'API, mais sur « si l'expérience de recherche peut devenir un argument de vente de différenciation du produit » : la combinaison de la recherche instantanée, de la tolérance orthographique et de la recherche sémantique est une capacité du produit qui peut directement améliorer le taux d'achèvement des utilisateurs (taux d'achèvement des tâches). Base de prise de décision : il est recommandé d'utiliser les données réelles de votre propre produit (au moins 100 000 éléments) pour créer un PoC sur Meilisearch, Typesense et Algolia pendant la phase de sélection, afin que l'équipe puisse ressentir intuitivement la différence de qualité de recherche, puis prendre des décisions en fonction du prix et des conditions d'exploitation et de maintenance.
-
Développeurs indépendants et petites équipes : Nécessité de parcourir rapidement la fonction de recherche au sein d'une équipe d'une ou trois personnes. Meilisearch auto-hébergé est la solution la moins coûteuse : un serveur cloud de 100 ¥/mois peut héberger des demandes de recherche pour des milliers, voire des dizaines de milliers de produits. Non recommandé : si les données de base du produit se trouvent dans les 1 000 éléments (comme un blog personnel), vous pouvez les interroger directement en utilisant « LIKE » dans la base de données. L’introduction d’un moteur de recherche augmentera la charge inutile d’exploitation et de maintenance.
-
Équipe d'architecte d'entreprise et d'infrastructure : nécessité d'évaluer l'évolutivité, la sécurité et la complexité opérationnelle du moteur de recherche. Meilisearch prend en charge l'authentification par clé API et les autorisations d'index détaillées pour la sécurité, mais ne prend pas en charge RBAC (contrôle d'accès basé sur les rôles). En termes d'exploitation et de maintenance, la configuration de Docker Compose peut effectuer un déploiement multi-nœuds et ne nécessite pas de Playbook Ansible ou Helm Chart complexe comme Elasticsearch. Suggestion de sélection : si l'équipe dispose déjà de capacités d'exploitation et de maintenance d'Elasticsearch et que la taille du cluster est grande, il n'est pas nécessaire de changer de moteur simplement pour « changer de moteur » ; si vous créez un service de recherche à partir de zéro et que le volume de données se situe à quelques dizaines de millions, la courbe d'apprentissage de Meilisearch est plus plate.
Prérequis : Les prérequis pour utiliser Meilisearch sont très faibles : il vous suffit de comprendre l'API HTTP et JSON. Aucune compréhension approfondie de la théorie des moteurs de recherche, des principes de segmentation des mots ou des algorithmes de classement n'est requise. Cependant, avant de le mettre en production, il est recommandé de lire au moins une fois les documents de bonnes pratiques de sécurité (gestion des clés API, configuration HTTPS, politique CORS, etc.).
Résumé et Outlook
Meilisearch a découvert un écart de marché précis entre Elasticsearch et Algolia en créant une « expérience de recherche prête à l'emploi » sur le moteur natif Rust - beaucoup plus simple qu'Elasticsearch, et plus open source et auto-hébergée qu'Algolia. Sa différenciation ne réside pas dans « des algorithmes de recherche plus puissants », mais dans « une réduction du coût de configuration des moteurs de recherche à un niveau sans précédent ». Dans le même temps, grâce à la licence MIT et à la prise en charge intégrée de la recherche sémantique, il a établi une niche écologique claire sur le marché des moteurs de recherche open source.
Limites actuelles :
- Plafond de taille de cluster : les performances d'un seul nœud sont excellentes, mais l'expérience en matière d'exploitation et de maintenance de cluster de plus de 10 nœuds est bien inférieure à celle d'Elasticsearch. Le mécanisme de cohérence des données des systèmes distribués (synchronisation des index en cas de panne de nœud) est toujours en cours d'itération et il est recommandé d'avoir des attentes plus prudentes qu'Elasticsearch dans les scénarios de cluster à grande échelle.
- Précision de la segmentation des mots chinois : l'algorithme MMSEG fonctionne bien sur les termes chinois quotidiens et professionnels courants, mais la granularité de segmentation des termes professionnels à longue traîne (tels que les noms médicaux, les termes juridiques et les mots composés dans les brevets technologiques) n'est pas assez fine. Dans les scénarios avec un contenu chinois dense, il est recommandé d'effectuer des tests de segmentation de mots adéquats et de les compléter avec un dictionnaire personnalisé si nécessaire.
- Zone de couverture du service Cloud : pour l'instant, les nœuds de Meilisearch Cloud sont principalement déployés dans les régions AWS Europe (Francfort, Irlande) et aux États-Unis (Virginie, Oregon), et la couverture des nœuds en Asie-Pacifique et en Amérique du Sud doit être étendue. Pour les produits dont la base d’utilisateurs principale se trouve dans la région Asie-Pacifique, l’auto-hébergement peut être une meilleure option de latence pour le moment.
- Manque de capacités d'analyse d'agrégation : compromis de conception intentionnel - Meilisearch n'effectue pas l'analyse d'agrégation d'Elasticsearch (Agrégation), ce qui signifie également qu'elle ne peut pas remplacer l'analyse des journaux, la surveillance des indicateurs et d'autres scénarios. Si le produit présente à l'avenir des exigences de « recherche et analyse hybrides », des moteurs d'analyse supplémentaires devront peut-être être déployés.
Tendances clés : la recherche passe de la « correspondance de mots clés » à un état de fusion de « compréhension sémantique + récupération générative ». Meilisearch est prêt pour cette tendance avec sa recherche hybride et sa prise en charge vectorielle intégrée. L'intégration native de Retrieval Augmentation Generation (RAG) devrait être introduite au cours du second semestre 2026, permettant à Meilisearch non seulement de renvoyer une liste d'ID de documents, mais également de coopérer avec LLM pour générer des résumés des résultats de recherche ou répondre directement aux questions des utilisateurs. Cela poussera Meilisearch encore plus loin de « l’infrastructure de recherche » vers la « couche de récupération des connaissances de l’IA ».
Évaluation des risques d'approvisionnement/d'adoption :
- Pilote à court terme (1 à 3 mois) : l'équipe de développement peut démarrer et accéder à l'API via Docker en une demi-journée, complétant ainsi l'évaluation de la qualité de la recherche à un coût presque nul. Il est recommandé d'utiliser 10 % des données commerciales réelles pour les tests de résistance afin de confirmer que le délai de recherche moyen est inférieur à 50 ms et que P99 est inférieur à 200 ms.
- Intégration à mi-parcours (3-12 mois) : Confirmer la couverture du langage des affaires par configuration de segmentation de mots, notamment les termes professionnels et les noms de marques. Établissez un système de surveillance de la qualité de la recherche (tel qu'un taux de résultat nul et un taux de clics pour les 10 principaux termes de recherche). S'il s'agit d'un mode auto-hébergé, formulez un plan d'expansion et de contraction du cluster ainsi qu'un processus de sauvegarde et de récupération.
- Dépendance à long terme (12+ mois) : la licence MIT élimine le risque juridique de dépendance vis-à-vis d'un fournisseur, mais les coûts de migration des données demeurent : la structure de l'index, la configuration de la segmentation des mots et le classement sont spécifiques à Meilisearch, et le passage à d'autres moteurs de recherche nécessite la reconstruction de l'index. Il est recommandé d'effectuer une gestion des versions sur la structure et la configuration de l'index pour éviter que « la configuration du moteur de recherche ne devienne une connaissance implicite ».
- Éléments de vérification avant l'achat par l'entreprise : ① Si la zone de résidence des données répond aux exigences de conformité (RGPD/« Loi sur la protection des informations personnelles ») ; ② Détails du SLA des services cloud (engagements de disponibilité, clauses d'indemnisation, conditions de résiliation anticipée) ; ③ Dans les scénarios d'auto-hébergement, confirmez l'engagement de maintenance à long terme du moteur principal (l'état de financement de Meilisearch SAS et la taille de l'équipe peuvent être utilisés comme référence).
Outils associés : perplexity, you-com
Informations de version
- Meilisearch 1.12 :Il n’y a pas encore de date officielle précise, mais l’expérience de recherche instantanée et les capacités de recherche sémantique continueront d’être itérées.
- Meilisearch 1.11 :Pas de date précise officielle pour l'instant, recherche sémantique améliorée et support multilingue.
Avis des utilisateurs