Tirer le meilleur de ses données avec
ElasticSearch
A propos de moi

Séven Le Mesle - Consultant Xebia - 10 ans d’expérience
En ce moment: évangeliste DevOps, aventurier BigD...
Agenda
‣ ElasticSearch ? Oui, mais c’est quoi ?
‣ Use Case - Migration d’une base de commande
‣ Facette / B.I. vers de nou...
ElasticSearch
Oui ! mais c’est quoi ?

1
ElasticSearch

Qu’est-ce qu’un moteur de recherche ?

5
ElasticSearch
Un moteur d’indexation

Document

6
ElasticSearch
Comment indexer ?

7
ElasticSearch
Un moteur de recherche dans l’index

8
Construire l’index
cleanup

tokenize

transform

stop words

Document

9
ElasticSearch

Alors pourquoi utiliser un moteur de recherche ?

10
ElasticSearch
Une base de données SQL n’est pas faite pour la recherche
Prenons un modèle simple

11
ElasticSearch
Pourquoi un moteur de recherche ?

‣ Match par champs
‣ Utiliser des jointures
‣ Construire une clause WHERE...
ElasticSearch

13
ElasticSearch

14
ElasticSearch
La promesse est de simplifier la recherche au maximum via un
seul champ.

15
ElasticSearch
Un middleware de données
‣ NoSQL orienté document

‣ Apache Lucene

‣ API simple HTTP / REST + JSON

‣ Haute...
ElasticSearch
Points forts

Démarrage rapide : 5 minutes suffisent pour se lancer
Schemaless
convention over configuration...
ElasticSearch Demo

18
Use Case
Migration d’une base de
commande ...

2
Base de commande
Projet de refonte

Une base historique de commandes sous Oracle
Le système de gestion de commande est rec...
Exigences
Unifier
Enrichir
Scaler horizontalement
Temps réel
Du SGBDR
vers
Elastic Search
Du relationnel au document
Modele relationnel

Modele Document

Commande
Promotion
Acheteur

Promotion

commande

Article
...
Intégrer les commandes

Oracle

Dénormaliser

MongoDb
ElasticSearch
cluster

24
Importer les données
River Plugin
‣ Code exécuté périodiquement par ElasticSearch

‣ Permet d’indexer des données par paqu...
Recherche unifiée
Architecture obtenue

Front

ElasticSearch
cluster

Front
Oracle

MongoDb

26
Recherche unifiée
Objectif atteint

27
Facettes
Vers de nouveaux
usages

B.I.

3
Recherche a facettes
‣ Combien de commandes sont en cours de préparation dans un relai colis avec
l’article défectueux ?
‣...
Facette par termes

Nombre de commandes par statut

30
Facette par range

Nombre de commande par tranche

31
Meilleur expérience utilisateur
‣ Une navigation par facette permet d’affiner la recherche

‣ Fournit la possibilité de na...
Catalogue
Recherche exploratoire

33
Pour aller plus loin ....

BI et monitoring métier

34
Monitoring métier
‣ Commandes en attente de traitement

3471

‣ Alerte de seuil

2941

2390

‣ Commandes en contrôle anti-...
Monitoring métier
‣ Facette de type histogramme

36
La percolation

‣ Ajoutez des recherches au percolateur

‣ Identifiez à la volée les documents qui y correspondent

‣ Leve...
Logs
Centralisation et
exploitation

4
Centralisation des logs
Indexez les logs
‣ Plusieurs outils du marché

‣ Pour collecter les logs et les importer dans un c...
Centralisation des logs
Exploitez vos données avec Kibana

40
Kibana - Demo

41
Et +
Autres feature, roadmap, ...

5
Quelques fonctions
Recherche géographique

43
Quelques fonctions
API de suggestion

44
Quelques fonctions
Intégration native avec Hadoop

45
Road map
Vers la 1.0

‣ Refonte et enrichissement de l’API de facette

‣ Full cluster restart for upgrades support

‣ Outi...
Références

47
Merci de
votre
attention
Des questions ?
Upcoming SlideShare
Loading in...5
×

Open XKE - Tirer le meilleur de ses données avec Elasticsearch par Séven le Mesle

815

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
815
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Open XKE - Tirer le meilleur de ses données avec Elasticsearch par Séven le Mesle

  1. 1. Tirer le meilleur de ses données avec ElasticSearch
  2. 2. A propos de moi Séven Le Mesle - Consultant Xebia - 10 ans d’expérience En ce moment: évangeliste DevOps, aventurier BigData, pratiquant NoSQL, et ... @slemesle
  3. 3. Agenda ‣ ElasticSearch ? Oui, mais c’est quoi ? ‣ Use Case - Migration d’une base de commande ‣ Facette / B.I. vers de nouveaux usages ‣ Centralisation et analyse de logs ‣ Et encore plus 3
  4. 4. ElasticSearch Oui ! mais c’est quoi ? 1
  5. 5. ElasticSearch Qu’est-ce qu’un moteur de recherche ? 5
  6. 6. ElasticSearch Un moteur d’indexation Document 6
  7. 7. ElasticSearch Comment indexer ? 7
  8. 8. ElasticSearch Un moteur de recherche dans l’index 8
  9. 9. Construire l’index cleanup tokenize transform stop words Document 9
  10. 10. ElasticSearch Alors pourquoi utiliser un moteur de recherche ? 10
  11. 11. ElasticSearch Une base de données SQL n’est pas faite pour la recherche Prenons un modèle simple 11
  12. 12. ElasticSearch Pourquoi un moteur de recherche ? ‣ Match par champs ‣ Utiliser des jointures ‣ Construire une clause WHERE ‣ Et, ajouter les index en bases 12
  13. 13. ElasticSearch 13
  14. 14. ElasticSearch 14
  15. 15. ElasticSearch La promesse est de simplifier la recherche au maximum via un seul champ. 15
  16. 16. ElasticSearch Un middleware de données ‣ NoSQL orienté document ‣ Apache Lucene ‣ API simple HTTP / REST + JSON ‣ Hautement disponible ‣ Cloud ready 16
  17. 17. ElasticSearch Points forts Démarrage rapide : 5 minutes suffisent pour se lancer Schemaless convention over configuration Scalabilité sous stéroïde 17
  18. 18. ElasticSearch Demo 18
  19. 19. Use Case Migration d’une base de commande ... 2
  20. 20. Base de commande Projet de refonte Une base historique de commandes sous Oracle Le système de gestion de commande est recréée de 0 La nouvelle base de données sera hébergée sous MongoDB Il faut assurer l’accès aux anciennes commandes qui ne seront pas migrées
  21. 21. Exigences Unifier Enrichir Scaler horizontalement Temps réel
  22. 22. Du SGBDR vers Elastic Search
  23. 23. Du relationnel au document Modele relationnel Modele Document Commande Promotion Acheteur Promotion commande Article Article Article Acheteur 23
  24. 24. Intégrer les commandes Oracle Dénormaliser MongoDb ElasticSearch cluster 24
  25. 25. Importer les données River Plugin ‣ Code exécuté périodiquement par ElasticSearch ‣ Permet d’indexer des données par paquet ‣ Et de maintenir l’index à jour 25
  26. 26. Recherche unifiée Architecture obtenue Front ElasticSearch cluster Front Oracle MongoDb 26
  27. 27. Recherche unifiée Objectif atteint 27
  28. 28. Facettes Vers de nouveaux usages B.I. 3
  29. 29. Recherche a facettes ‣ Combien de commandes sont en cours de préparation dans un relai colis avec l’article défectueux ? ‣ Les back offices intègrent une navigation par facette pour répondre à ces questions : 29
  30. 30. Facette par termes Nombre de commandes par statut 30
  31. 31. Facette par range Nombre de commande par tranche 31
  32. 32. Meilleur expérience utilisateur ‣ Une navigation par facette permet d’affiner la recherche ‣ Fournit la possibilité de naviguer dans l’index en mode exploratoire 32
  33. 33. Catalogue Recherche exploratoire 33
  34. 34. Pour aller plus loin .... BI et monitoring métier 34
  35. 35. Monitoring métier ‣ Commandes en attente de traitement 3471 ‣ Alerte de seuil 2941 2390 ‣ Commandes en contrôle anti-fraude ‣ Commandes avec assurance 1589 ‣ ... avec promotion Etats des commandes 35
  36. 36. Monitoring métier ‣ Facette de type histogramme 36
  37. 37. La percolation ‣ Ajoutez des recherches au percolateur ‣ Identifiez à la volée les documents qui y correspondent ‣ Levez l’alerte correspondante 37
  38. 38. Logs Centralisation et exploitation 4
  39. 39. Centralisation des logs Indexez les logs ‣ Plusieurs outils du marché ‣ Pour collecter les logs et les importer dans un cluster ElasticSearch 39
  40. 40. Centralisation des logs Exploitez vos données avec Kibana 40
  41. 41. Kibana - Demo 41
  42. 42. Et + Autres feature, roadmap, ... 5
  43. 43. Quelques fonctions Recherche géographique 43
  44. 44. Quelques fonctions API de suggestion 44
  45. 45. Quelques fonctions Intégration native avec Hadoop 45
  46. 46. Road map Vers la 1.0 ‣ Refonte et enrichissement de l’API de facette ‣ Full cluster restart for upgrades support ‣ Outillage des backup / restore ‣ ... 46
  47. 47. Références 47
  48. 48. Merci de votre attention Des questions ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×