Bibliothèque / SDK
elastic/elasticsearch avatar
elastic/elasticsearch

Elasticsearch : moteur de recherche distribué, de la recherche plein texte aux vecteurs

Elasticsearch est un moteur de recherche et d'analyse distribué et RESTful, aussi base vectorielle, pour la recherche plein texte et vectorielle, les logs et les métriques en quasi temps réel.

77 920 étoiles26 064 forksJavaLa licence varie

En bref

De quoi s’agit-il ?
Elasticsearch combine moteur de recherche distribué, magasin de données scalable et base vectorielle, piloté par une API REST ; le README documente un démarrage local sous Docker et une licence d'essai d'un mois qui retombe sur l'offre Basic.
À qui s’adresse-t-il ?
Elasticsearch s'adresse aux équipes qui ont besoin d'une recherche rapide et pertinente à l'échelle, du plein texte aux vecteurs, avec un écosystème clients et Kibana autour. Il n'est pas le bon choix pour un besoin de recherche minimal sans exploitation continue, vu la charge opérationnelle d'un cluster.
Puis-je l’utiliser commercialement ?
À vérifier. La licence de ce dépôt n’entre pas dans les catégories que nous classons automatiquement : lisez son fichier LICENSE avant tout usage commercial.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Java, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Moteur de recherche, magasin de données et base vectorielle en un

Le README actuel présente Elasticsearch comme un moteur de recherche et d'analyse distribué, un magasin de données scalable et une base de données vectorielle, optimisé pour la vitesse et la pertinence à l'échelle de la production. La description du dépôt résume l'identité historique : moteur de recherche distribué et RESTful, gratuit et open source, écrit en Java.

La liste des cas d'usage montrés par le README dessine le périmètre 2026 : génération augmentée par récupération, recherche vectorielle, recherche plein texte, logs, métriques, supervision de performance applicative et journaux de sécurité. Le projet se pose en fondation de la plateforme Stack d'Elastic, avec Search Labs comme vitrine des travaux de machine learning et des contributions à Lucene. Les métadonnées donnent l'échelle : environ 77 900 étoiles, plus de 26 000 forks et près de 6 000 tickets ouverts.

Démarrer en local avec le script start-local sous Docker

Le chemin le plus court documenté est le script start-local : curl -fsSL https://elastic.co/start-local | sh. Il crée un dossier elastic-start-local contenant la configuration et lance Elasticsearch et Kibana dans Docker. Les prérequis sont explicites : Docker Desktop installé, et sous Windows, le sous-système Linux pour Windows, WSL.

Une fois le script passé, deux points d'accès suffisent : Elasticsearch sur http://localhost:9200 et Kibana sur http://localhost:5601. Le script génère un mot de passe aléatoire pour l'utilisateur elastic, affiché en fin d'installation puis stocké dans le fichier .env du dossier, aux côtés d'une clé d'API enregistrée sous le nom ES_LOCAL_API_KEY. Le README place un avertissement en tête de section : ce montage vise le développement local et les tests, jamais un déploiement de production, puisque https y est désactivé et l'accès limité à localhost.

Un mois d'essai toutes fonctions, puis la licence Basic gratuite

La structure de licence du montage local est documentée précisément : le démarrage s'accompagne d'une licence d'essai d'un mois incluant toutes les fonctions Elastic, puis, à l'expiration, la configuration repasse sur la licence Free and open, niveau Basic. Le README renvoie à la page des abonnements Elastic pour le détail des niveaux.

Ce point compte autant que les performances : des fonctions like la sécurité avancée ou le machine learning appartiennent aux niveaux payants, et une équipe qui bâtit sur l'essai découvrira le périmètre réel au bout de trente jours. Les métadonnées GitHub n'affichent pas de champ de licence renseigné, ce qui reflète l'histoire du projet plus qu'une absence ; la référence utile reste la page des abonnements et les conditions publiées par Elastic, à lire avant d'engager une architecture.

L'API REST comme interface unique : index, documents, flux

Tout passe par des requêtes HTTP. Le README montre la création d'un index en curl avec authentification basique : un PUT sur http://localhost:9200/my-new-index avec en-tête JSON. L'indexation d'un document tient en un POST de la forme POST /customer/_doc/1 avec un objet JSON en corps ; l'index customer est créé automatiquement s'il n'existe pas, et le document devient immédiatement disponible sur tous les noeuds du cluster.

La relecture passe par un GET ciblant l'identifiant du document. Pour les données horodatées comme les logs et les métriques, le README oriente vers les data streams, des flux adossés à des indices générés automatiquement, plutôt que vers des indices gérés à la main. Un test de connexion élémentaire est fourni : depuis le dossier elastic-start-local, source .env puis curl $ES_LOCAL_URL avec l'en-tête Authorization muni de la clé ES_LOCAL_API_KEY.

Clients de langage et console Dev Tools de Kibana

Les clients de langage officiels se connectent avec les mêmes pièces : point d'accès http://localhost:9200, utilisateur elastic et mot de passe issu de la variable ES_LOCAL_PASSWORD. L'exemple Python du README tient en quelques lignes, un client Elasticsearch construit avec basic_auth puis un appel à client.info() pour vérifier la liaison.

Pour expérimenter sans écrire de programme, Kibana embarque une console développeur, accessible par Management puis Dev Tools, qui permet de taper directement des requêtes contre le cluster et de voir les réponses. Ce duo couvre les deux usages de départ : le prototypage interactif dans la console, puis l'industrialisation dans le code via un client qui gère la sérialisation, les reprises et le discovery des noeuds. Le README reste volontairement court sur ce dernier point et renvoie à la documentation de chaque client.

Cadence des versions et signaux de maintenance en 2026

L'historique des releases montre un projet vivant : Elasticsearch 9.5.2 publiée le 20 août 2026, 9.5.1 et 9.4.5 une dizaine de jours plus tôt, avec une branche main active au jour de la consultation. Cette cadence courte impose de choisir explicitement sa version et de suivre les notes de publication, notamment sur les dépendances de la JVM embarquée.

Les signaux de long terme sont ceux d'un produit soutenu par un éditeur : contributions régulières à Lucene documentées sur Search Labs, page produit tenue à jour, service managé Elastic Cloud proposé en alternative à l'auto-hébergement. Le README ne publie ni benchmark ni garantie de service ; les performances annoncées, la vitesse et la pertinence, se vérifient sur vos propres données, en commençant par l'index de test créé via le PUT REST et en mesurant les temps de réponse depuis la console Dev Tools.

Conclusion éditoriale

Elasticsearch s'adresse aux équipes qui ont besoin d'une recherche rapide et pertinente à l'échelle, du plein texte aux vecteurs, avec un écosystème clients et Kibana autour. Il n'est pas le bon choix pour un besoin de recherche minimal sans exploitation continue, vu la charge opérationnelle d'un cluster. Avant de monter quoi que ce soit en production, lancez le script start-local, vérifiez la connexion avec le curl muni de ES_LOCAL_API_KEY, créez un index de test via un PUT REST et confrontez la licence Basic qui suit l'essai d'un mois à vos fonctionnalités visées.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté