Aller au contenu

Elasticsearch

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 10 mai 2016 à 12:38 et modifiée en dernier par 185.2.196.110 (discuter) (Description : petites fautes d'orthographe). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Elasticsearch
Description de l'image Elasticsearch logo.svg.

Informations
Créateur Shay Banon (d)Voir et modifier les données sur Wikidata
Développé par Shay Banon
Dernière version 9.0.1 ()[1]Voir et modifier les données sur Wikidata
Dépôt github.com/elastic/elasticsearchVoir et modifier les données sur Wikidata
Écrit en Java
Système d'exploitation Oracle Linux (en), Red Hat Linux, Ubuntu, Windows Server (en), SUSE Linux Enterprise Server, Debian, openSUSE, CentOS et type UnixVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Type Moteur de recherche
Licence Licence Apache 2.0
Site web www.elastic.co

Elasticsearch est un serveur utilisant Lucene pour l'indexation et la recherche des données. Il fournit un moteur de recherche distribué et multi-entité à travers une interface REST. C'est un logiciel libre écrit en Java et publié en open source sous licence Apache.

Elasticsearch est le serveur de recherche d'entreprise le plus populaire, suivi par Apache Solr qui utilise aussi Lucene[2]. Il est associé à deux autres produits libres, Kibana et Logstash, qui sont respectivement un visualiseur de données et un ETL (initialement destiné aux logs).

L'indexation des données s'effectue à partir d'une requête HTTP PUT. La recherche des données s'effectue avec la requête HTTP GET. Les données échangées sont au format JSON.

Histoire

Elasticsearch a été créé par Shay Banon, fondateur de Compass Project (en) en 2004. Lors de la conception de la troisième version de Compass, Banon se rend compte qu'il est nécessaire de réécrire une grande partie du logiciel pour gérer les montées en charge. De là est né Elasticsearch, une solution construite pour être distribuée et pour utiliser du JSON via des requêtes HTTP, ce qui rend le moteur de recherche utilisable avec n'importe quel langage de programmation[3]. La première version sort le 8 février 2010 avec un numéro de version 0.4.0[4]. Suivent des sorties quasi mensuelles avec plusieurs versions certains mois, numérotées 0.X jusqu'à une version 1.0, sortie le 12 février 2014 soit quatre ans après la première[5].

En 2012 est créée l'entreprise ElasticSearch par Shay Banon et Steven Schuurmann ; le siège social est situé à Amsterdam aux Pays-Bas[6]. S'ensuit une première levée de fond de 10 millions de dollars[7], puis 24 millions de dollars en 2013[8] et 70 millions en 2014[9],[10],[11], ce qui valorise l'entreprise à 700 millions de dollars, d'après le site fortune.com[12].

Description

Elasticsearch permet de faire des recherches sur tout type de document. Il possède une architecture adaptable, fait des recherches quasiment en temps réel et peut s'organiser en multi-entité.

Elasticsearch utilise Lucene et essaie de rendre toutes ses fonctions disponibles via les interfaces JSON et Java. Il possède aussi des fonctionnalités de recherche à facettes et de percolation[13].

Elasticsearch est distribué ce qui signifie que les données stockées sont divisées en éclats («shard» en anglais) sur un ou plusieurs nœuds. Afin de garantir la résilience, chaque éclat peut avoir zéro ou plusieurs répliques. Chaque nœud du cluster héberge un ou plusieurs éclats et agit en coordinateur pour déléguer les opérations au nœud qui contient le bon éclat. L'équilibrage et le routage sont réalisés automatiquement.

Outils

Les outils d'administration et d'aide à la visualisation et analyse des données sont des greffons installables sur le serveur et accessibles depuis un navigateur (via l'URL : url_de_votre_serveur:9200/_plugin/le_nom_du_plugin).

  • Marvel : outil d'administration développé et maintenu par l'entreprise Elasticsearch, il intègre Sense un outil de requête avancé avec auto-complétement.
  • Head : outil d'administration permettant de superviser les index, lister les données et faire des requêtes.
  • Kopf : outil d'administration en AngularJS avec différentes fonctionnalités dont un superviseur pour les index, un outil de requêtes et un analyseur pour visualiser le stockage des données.
  • Inquisitor : outil d'aide pour déboguer les requêtes et un analyseur pour voir comment sont stockées les données.

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Elasticsearch » (voir la liste des auteurs).
  1. « Release 9.0.1 », (consulté le )
  2. (en) « DB-Engines Ranking - popularity ranking of search engines », db-engines.com (consulté le )
  3. (en) « The Future of Compass & Elasticsearch », sur Archive du blog original de Shay Banon (consulté le )
  4. (en) « Elasticsearch Download », sur www.elasticsearch.org (consulté le )
  5. (en) « ElasticSearch Download », sur www.elasticsearch.org (consulté le )
  6. (en) « About », sur www.elasticsearch.com (consulté le )
  7. (en) « Big data search startup ElasticSearch raise $10m », sur www.zdnet.com, (consulté le )
  8. (en) « Amsterdam based ElasticSearch closes $24M Series B round », sur www.eu-startups.com, (consulté le )
  9. (en) « ElasticSearch raises $70M and is taking JSON analysis global », sur gigaom.com, (consulté le )
  10. « ElasticSearch lève 70 millions de dollars », sur www.open-source-guide.com, (consulté le )
  11. « Moteur de recherche open source : ElasticSearch lève 70 millions de dollars », sur www.journaldunet.com, (consulté le )
  12. (en) « Latest funding round values ElasticSearch at $700 million », sur fortune.com,
  13. (en) « Percolator at elastic.co reference », Elastic.co (consulté le )

Liens externes