Article de reference

Elasticsearch

{{cite web | url = https://github.com/elastic/elasticsearch/releases | title = Releases · elastic/elasticsearch | via = [[GitHub]] | access-date = 15 June 2026}} | branch2 = 8.x...

Elasticsearch est un moteur de recherche à code source disponible, développé par Elastic . Basé sur Apache Lucene , il offre un moteur de recherche plein texte distribué et multitenant , doté d'une interface web HTTP et prenant en charge les documents JSON sans schéma . Des clients officiels sont disponibles en Java , C# , PHP , Python , Ruby et autres langages. Selon le classement DB-Engines , Elasticsearch est le moteur de recherche d'entreprise le plus populaire.

Elasticsearch est un système distribué qui utilise des documents JSON stockés dans des index divisés en fragments (shards) , chacun pouvant avoir des répliques réparties sur les nœuds du cluster. Il prend en charge la recherche plein texte , la recherche à facettes , la recherche en temps réel et la mutualisation . Ce logiciel est développé conjointement avec Logstash, Kibana et Beats, au sein de la suite Elastic (anciennement ELK).

JSON sur HTTP comme interface commune. Il a publié la première version d'Elasticsearch en février 2010.

Elastic NV a été fondée en 2012 pour fournir des services et des produits commerciaux autour d'Elasticsearch et des logiciels associés. En juin 2014, la société a levé 70 millions de dollars lors d'un tour de table de série C mené par New Enterprise Associates , avec des financements supplémentaires de Benchmark Capital et Index Ventures , portant le financement total à 104 millions de dollars.

En mars 2015, la société Elasticsearch a changé de nom pour devenir Elastic et, grâce à l'acquisition de Found, a lancé une offre de cloud managé, plus tard connue sous le nom d'Elastic Cloud. En novembre 2017, Elastic a acquis la startup de recherche Swiftype , dont la technologie a servi de base à Elastic App Search et Elastic Site Search. Elastic a également noué des partenariats avec Google pour proposer Elastic Cloud sur Google Cloud Platform et avec Alibaba pour proposer Elasticsearch et Kibana sur Alibaba Cloud .

En juin 2018, Elastic a déposé une demande d'introduction en bourse avec une valorisation estimée entre 1,5 et 3 milliards de dollars. Le 5 octobre 2018, Elastic a été cotée à la Bourse de New York .

Modifications des licences

En janvier 2021, Elastic a annoncé qu'à partir de la version 7.11, Elasticsearch et Kibana passeraient d' une licence Apache 2.0 à une double licence, combinant la Server Side Public License et l'Elastic License, aucune de ces deux licences n'étant reconnue comme open source . Elastic a déclaré que ce changement était une réponse à l'offre d' Amazon Web Services (AWS) d'Elasticsearch et de Kibana en tant que service, sans une collaboration jugée suffisante par Elastic. Les détracteurs de ce changement ont souligné qu'Elastic avait auparavant promis de ne jamais modifier la licence Apache 2.0 d'Elasticsearch, de Kibana, de Beats et de Logstash, et ont prédit que cette décision nuirait à l'écosystème.

AWS a réagi en annonçant la création d'une branche dérivée des projets afin de poursuivre leur développement sous licence Apache 2.0. D'autres membres de l'écosystème Elasticsearch, notamment Logz.io, CrateDB et Aiven, se sont également engagés à soutenir cette branche. En raison de potentiels conflits de marques avec le nom « Elasticsearch », AWS a renommé sa branche dérivée OpenSearch en avril 2021.

En août 2024, Elastic a ajouté la licence publique générale GNU Affero comme troisième option de licence pour Elasticsearch à partir de la version 8.16.0. Cela a rendu le logiciel disponible sous une licence libre et open source à nouveau aux côtés des deux options de source disponibles.

Architecture et fonctionnalités

Elasticsearch est basé sur Apache Lucene et expose les fonctionnalités de Lucene via une API JSON et Java . Les documents sont stockés dans des index, eux-mêmes divisés en partitions primaires ; chaque partition peut avoir zéro ou plusieurs réplicas répartis sur les nœuds du cluster. Le routage et le rééquilibrage sont gérés automatiquement. Une fois un index créé, le nombre de partitions primaires ne peut plus être modifié.

Le moteur prend en charge la recherche à facettes et la percolation, une forme de recherche prospective où les requêtes enregistrées sont comparées aux documents entrants plutôt que l'inverse. Un module passerelle assure la persistance à long terme des index, permettant ainsi leur récupération après la défaillance d'un nœud. Les requêtes GET en temps réel rendent Elasticsearch utilisable comme base de données NoSQL , bien qu'il ne prenne pas en charge les transactions distribuées .

En mai 2019, Elastic a rendu disponibles gratuitement les fonctionnalités de sécurité essentielles d'Elastic Stack, notamment le protocole TLS pour les communications chiffrées, l'authentification des fichiers et du domaine natif, ainsi que le contrôle d'accès basé sur les rôles pour les API et les index du cluster. Le code source correspondant est disponible sous la licence Elastic. Elasticsearch propose également des fonctionnalités SIEM et d'apprentissage automatique dans le cadre de son offre commerciale.

Des bibliothèques clientes officielles sont maintenues pour Java , C# ( .NET ), PHP , Python , et Ruby , entre autres.

Pile élastique

Elasticsearch est développé conjointement avec Logstash (un moteur de collecte de données et d'analyse de journaux), Kibana (une plateforme d'analyse et de visualisation) et Beats (un outil léger d'envoi de données). Ces quatre produits sont conçus pour être utilisés ensemble sous le nom d'Elastic Stack. Cette combinaison était auparavant connue sous le nom d'ELK Stack, acronyme de « Elasticsearch, Logstash et Kibana ».