Ceci est une ancienne révision du document !
Elasticsearch est un moteur de recherche et d'analyse RESTful distribué et open source. Ces principales fonctionnalités sont:
C'est un moteur de recherche hautement paramétrable permettant de s'adapter aux spécificités et aux besoins en traitement des données de l'utilisateur.
Elasticsearch est utilisé avec d'autres outils pour former la stack Elastic (anciennement ELK):
On désigne alors cette architecture ELK 1)
Elasticsearch s'appuie sur Apache Lucene. Tous les mots d'un texte ont leur importance et on peut effectuer des recherches sur ces mots. Pour pouvoir évaluer la pertinence d'une réponse, la seule présence ou absence du mot ne suffit pas. Il est important d'appréhender certaines généralités sur le processus de scoring afin d'écrire précisément sa requête et analyser correctement les résultats. Le moteur va chercher à déterminer un poids pour chaque mot afin d'établir un score pour chaque réponse en tenant compte:
La recherche peut être enrichie en ciblant une partie de la structure du document: titre, métadonnées etc.
Afin de se familiariser avec elasticsearch, on utilise un client REST simple pour manipuler les documents.
Création d'un index:
http --json PUT localhost:9200/bibliography/_create/1 \ author="Wiliam Gibson" \ title="Neuromancien" \ year:=1984 \ category:='["SF","nouvelle"]'
Mettre a jour:
http --json PUT :9200/bibliography/_doc/1 \ author="Wiliam Gibson" \ title="Neuromancien" \ year="1984" \ category="SF"
Supprimer un document:
http delete :9200/bibliography/_doc/1