Présentation
Définition : Elasticsearch
Elasticsearch est un moteur de recherche distribué en temps réel.
Il permet d'explorer les données très rapidement et de "clusteriser" facilement.
Il est utilisé pour de la recherche dans le texte, recherche par mot clé, etc.
Définition : La recherche (en) plein texte
La recherche (en) plein texte (appelée aussi recherche en texte intégral ou recherche de texte libre) est une technique de recherche dans un document électronique ou une base de données textuels, qui consiste pour le moteur de recherche à examiner tous les mots de chaque document enregistré et à essayer de les faire correspondre à ceux fournis par l'utilisateur.
Use cases
2 use cases principaux :
- Recherche
- Statistiques
Remarque : Qui l'utilise ?
Wikipédia : Utilise pour sa recherche, recherche lors de la saisie et suggestions de corrections.
Github : Recherche dans 130 milliards de ligne de codes.
Stack Overflow, The Gardian...
Mais pas que des grosses entreprises, Elasticsearch tournant sur des ordinateurs portables, on peut esquisser des idées rapidement avec... et les agrandir avec des Peta de données facilement.
Remarque : Pourquoi Elasticsearch ?
La plupart des BDD sont inadéquates à extraire des données exploitables. Bien sûr, elle peuvent filtrer par date ou par valeurs exactes mais ne peuvent pas faire une recherche en plein texte, gérer les synonymes et trier des documents par pertinence. Et surtout, elle ne le font pas en temps réel et sans grosses requêtes ponctuelles.
Fondamental : Points forts
- Déploiement et configuration très simple (fichier unique)
- Cluster
- Nombre plugins
- REST : très accessible