SlideShare uma empresa Scribd logo
1 de 15
A la recherche
d’ElasticSearch
25 Juin 2015 – GauthierWallet (@Ninnir)
Qu’est-ce qu’une recherche ?
• Filtrer des informations
• Retourner un ensemble pertinent
ElasticSearch
«You know, for Search »
• Engin de recherche et d’analyse
• Créé en 2004 par Shay Banon
• Architecture RESTful
• Système distribué
• Open Source (license Apache)
• Base sur Apache Lucene
Les données
• Orientées « Documents »
• Pas de mapping prédéfini
• Représentées via JSON
• Stockées dans des index…
• … en fonction de types
• Identifiés par des IDs
Pour comparer à du SQL…
• Database = Index
• Table =Type
• Row = Document
Ajout, édition, suppression, récupération…
• Supporte le POST / PUT / DELETE / GET
• BulkAPI
• Versionning
• Mise à jour partielle
Recherche type
• Via HTTP : http://127.0.0.1:9200/:index/:type/[:action/id]
• Total Hits
• _index du document
• _id du document
• _type du document
• _source : contenu du document
Trouver des données par…
• Ids
• Term /Terms
• Range
• QueryString
• Geo-spatial
• Regex
• Boolean
• …
… en utilisant…
• Queries
• Highlighting
• Facets
• Scrolling
• Filters
Recommandations pratiques
• Java 8
• Prévoir de la RAM
• + de data ? + de shards !
• Pas besoin de commit / flush
• Configurer ElasticSearch / !
Et la sécurité ? Et les logs ?
• Shield : Gérer la sécurité de votre stack ELK (cryptage, contrôles d’accès, etc.)
• Logstash : Outil de transport, de collecte et d’amélioration de vos données
• Watcher : outil de gestion des alertes et notifications
• Kibana : Outil de visualisation des données via dashboarding (Open-Source)
• Marvel : Kibana évolué et payant
• Beats : Collecteur de données de logs, métriques d’infrastructure
Aller plus loin…
• AWS : https://github.com/elastic/elasticsearch-cloud-aws
• Head : https://github.com/mobz/elasticsearch-head
• Import/Export : https://github.com/jprante/elasticsearch-knapsack
• … et bien d’autres !
…, toujours plus loin !
• @Kimchy (Shay Banon) : https://twitter.com/kimchy
• @dadoonet (David Pilato) : https://twitter.com/dadoonet
• … et bien d’autres !
Démo
A vous de jouer !

Mais conteúdo relacionado

Mais procurados

Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic searchJEMLI Fathi
 
Tirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchTirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchSéven Le Mesle
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementMohamed hedi Abidi
 
Finist JUG - Elasticsearch
Finist JUG - ElasticsearchFinist JUG - Elasticsearch
Finist JUG - ElasticsearchDavid Pilato
 
Solr and Elasticsearch in Action (at Breizhcamp)
Solr and Elasticsearch in Action (at Breizhcamp)Solr and Elasticsearch in Action (at Breizhcamp)
Solr and Elasticsearch in Action (at Breizhcamp)Lucian Precup
 
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...Bruno Bonnin
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
 
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchBesoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchfrancelabs
 
Paris data geek - Elasticsearch
Paris data geek - ElasticsearchParis data geek - Elasticsearch
Paris data geek - ElasticsearchDavid Pilato
 
Lausanne JUG - Elasticsearch
Lausanne JUG - ElasticsearchLausanne JUG - Elasticsearch
Lausanne JUG - ElasticsearchDavid Pilato
 
Elasticsearch - Esme sudria
Elasticsearch - Esme sudriaElasticsearch - Esme sudria
Elasticsearch - Esme sudriaDavid Pilato
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab ElasticsearchDavid Pilato
 
Lyon JUG - Elasticsearch
Lyon JUG - ElasticsearchLyon JUG - Elasticsearch
Lyon JUG - ElasticsearchDavid Pilato
 
Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012David Pilato
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réellesGeoffroy Arnoud
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Khanh Maudoux
 
Jug algeria x wiki-atelier
Jug algeria x wiki-atelierJug algeria x wiki-atelier
Jug algeria x wiki-atelierAlgeria JUG
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielModern Data Stack France
 

Mais procurados (20)

Découverte de Elastic search
Découverte de Elastic searchDécouverte de Elastic search
Découverte de Elastic search
 
Tirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearchTirer le meilleur de ses données avec ElasticSearch
Tirer le meilleur de ses données avec ElasticSearch
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
ElasticSearch : Architecture et Développement
ElasticSearch : Architecture et DéveloppementElasticSearch : Architecture et Développement
ElasticSearch : Architecture et Développement
 
Finist JUG - Elasticsearch
Finist JUG - ElasticsearchFinist JUG - Elasticsearch
Finist JUG - Elasticsearch
 
Solr and Elasticsearch in Action (at Breizhcamp)
Solr and Elasticsearch in Action (at Breizhcamp)Solr and Elasticsearch in Action (at Breizhcamp)
Solr and Elasticsearch in Action (at Breizhcamp)
 
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...
Breizhcamp 2015 - Comment (ne pas réussir à) modéliser ses data dans elastics...
 
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?
 
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchBesoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch
 
Paris data geek - Elasticsearch
Paris data geek - ElasticsearchParis data geek - Elasticsearch
Paris data geek - Elasticsearch
 
Lausanne JUG - Elasticsearch
Lausanne JUG - ElasticsearchLausanne JUG - Elasticsearch
Lausanne JUG - Elasticsearch
 
Elasticsearch - Esme sudria
Elasticsearch - Esme sudriaElasticsearch - Esme sudria
Elasticsearch - Esme sudria
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
Lyon JUG - Elasticsearch
Lyon JUG - ElasticsearchLyon JUG - Elasticsearch
Lyon JUG - Elasticsearch
 
Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012
 
Déploiement ELK en conditions réelles
Déploiement ELK en conditions réellesDéploiement ELK en conditions réelles
Déploiement ELK en conditions réelles
 
Hadoop et son écosystème - v2
Hadoop et son écosystème - v2Hadoop et son écosystème - v2
Hadoop et son écosystème - v2
 
Jug algeria x wiki-atelier
Jug algeria x wiki-atelierJug algeria x wiki-atelier
Jug algeria x wiki-atelier
 
Hadoop unit
Hadoop unitHadoop unit
Hadoop unit
 
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamielParis Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
Paris Spark meetup : Extension de Spark (Tachyon / Spark JobServer) par jlamiel
 

Destaque

Chapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaChapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaFabien SABATIER
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesFabien SABATIER
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
 
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Guillaume MOCQUET
 
Drupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerDrupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerRoald Umandal
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1Maruf Hassan
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaAmazee Labs
 
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic IntroductionMayur Rathod
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch ALTER WAY
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08Loïc Descotte
 
Drupal and Elasticsearch
Drupal and ElasticsearchDrupal and Elasticsearch
Drupal and ElasticsearchNikolay Ignatov
 
Deck seo campus 2011 utiliser les logs serveurs
Deck seo campus 2011   utiliser les logs serveursDeck seo campus 2011   utiliser les logs serveurs
Deck seo campus 2011 utiliser les logs serveursPhilippe YONNET
 
AFUP - Mini conférences PHP - Les LOGs
AFUP - Mini conférences PHP - Les LOGsAFUP - Mini conférences PHP - Les LOGs
AFUP - Mini conférences PHP - Les LOGsFrédéric Sagez
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseRubedo, a WebTales solution
 

Destaque (20)

Chapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibanaChapitre2 prise en_main_kibana
Chapitre2 prise en_main_kibana
 
Chapitre3 elk concepts_avances
Chapitre3 elk concepts_avancesChapitre3 elk concepts_avances
Chapitre3 elk concepts_avances
 
Chapitre1 elk chez_psa
Chapitre1 elk chez_psaChapitre1 elk chez_psa
Chapitre1 elk chez_psa
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
Plateforme centralisée d’analyse des logs des frontaux http en temps réel dan...
 
Drupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + DockerDrupal 8 + Elasticsearch + Docker
Drupal 8 + Elasticsearch + Docker
 
IPTV
IPTVIPTV
IPTV
 
Elasticsearch presentation 1
Elasticsearch presentation 1Elasticsearch presentation 1
Elasticsearch presentation 1
 
Séminaire Log Management
Séminaire Log ManagementSéminaire Log Management
Séminaire Log Management
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & Kibana
 
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
 
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch Meetup Drupal Paris : Connexion Drupal et Elasticsearch
Meetup Drupal Paris : Connexion Drupal et Elasticsearch
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Drupal and Elasticsearch
Drupal and ElasticsearchDrupal and Elasticsearch
Drupal and Elasticsearch
 
Deck seo campus 2011 utiliser les logs serveurs
Deck seo campus 2011   utiliser les logs serveursDeck seo campus 2011   utiliser les logs serveurs
Deck seo campus 2011 utiliser les logs serveurs
 
Le PHP chez Deezer
Le PHP chez DeezerLe PHP chez Deezer
Le PHP chez Deezer
 
AFUP - Mini conférences PHP - Les LOGs
AFUP - Mini conférences PHP - Les LOGsAFUP - Mini conférences PHP - Les LOGs
AFUP - Mini conférences PHP - Les LOGs
 
Cci octobre 2014
Cci octobre 2014Cci octobre 2014
Cci octobre 2014
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entreprise
 

Semelhante a A la recherche d'ElasticSearch

Les entrepôts de données ou comment rendre les données trouvables accessibles...
Les entrepôts de données ou comment rendre les données trouvables accessibles...Les entrepôts de données ou comment rendre les données trouvables accessibles...
Les entrepôts de données ou comment rendre les données trouvables accessibles...Desconnets Jean-Christophe
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piadelegue
 
Moteurs de recherche et Lucene at LorraineJUG
Moteurs de recherche et Lucene at LorraineJUGMoteurs de recherche et Lucene at LorraineJUG
Moteurs de recherche et Lucene at LorraineJUGLucian Precup
 
June Spark meetup : search as recommandation
June Spark meetup : search as recommandationJune Spark meetup : search as recommandation
June Spark meetup : search as recommandationModern Data Stack France
 
Comprendre, utiliser et créer une API
Comprendre, utiliser et créer une APIComprendre, utiliser et créer une API
Comprendre, utiliser et créer une APIOlivia Reaney
 
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"ABES
 
Presentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGPresentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGfrancelabs
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitEmmanuel Hugonnet
 
Les évolutions de HAL : présentation du 20 septembre 2017
Les évolutions de HAL : présentation du 20 septembre 2017Les évolutions de HAL : présentation du 20 septembre 2017
Les évolutions de HAL : présentation du 20 septembre 2017OAccsd
 
Azure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideAzure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideJean-Pierre Riehl
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataMicrosoft
 
Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Julien Sicot
 
J1 T1 5 - Stream Analytics - Cédric Charlier
J1 T1 5 - Stream Analytics - Cédric CharlierJ1 T1 5 - Stream Analytics - Cédric Charlier
J1 T1 5 - Stream Analytics - Cédric CharlierMS Cloud Summit
 
Atelier : Développement rapide d’une application basée surXWiki
Atelier : Développement rapide d’une application basée surXWikiAtelier : Développement rapide d’une application basée surXWiki
Atelier : Développement rapide d’une application basée surXWikiKorteby Farouk
 
Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02ABES
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Jean-Pierre Riehl
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Mathias Kluba
 

Semelhante a A la recherche d'ElasticSearch (20)

Les entrepôts de données ou comment rendre les données trouvables accessibles...
Les entrepôts de données ou comment rendre les données trouvables accessibles...Les entrepôts de données ou comment rendre les données trouvables accessibles...
Les entrepôts de données ou comment rendre les données trouvables accessibles...
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry pi
 
Moteurs de recherche et Lucene at LorraineJUG
Moteurs de recherche et Lucene at LorraineJUGMoteurs de recherche et Lucene at LorraineJUG
Moteurs de recherche et Lucene at LorraineJUG
 
June Spark meetup : search as recommandation
June Spark meetup : search as recommandationJune Spark meetup : search as recommandation
June Spark meetup : search as recommandation
 
Show de boucane pour ELK
Show de boucane pour ELKShow de boucane pour ELK
Show de boucane pour ELK
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Comprendre, utiliser et créer une API
Comprendre, utiliser et créer une APIComprendre, utiliser et créer une API
Comprendre, utiliser et créer une API
 
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
Jabes 2011 - Actualités et projets de l'Abes "Les API Sudoc, le Sudoc autrement"
 
Presentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGPresentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUG
 
Java Content Repository avec Jackrabbit
Java Content Repository avec JackrabbitJava Content Repository avec Jackrabbit
Java Content Repository avec Jackrabbit
 
Les évolutions de HAL : présentation du 20 septembre 2017
Les évolutions de HAL : présentation du 20 septembre 2017Les évolutions de HAL : présentation du 20 septembre 2017
Les évolutions de HAL : présentation du 20 septembre 2017
 
Azure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybrideAzure Data Factory, Mouvement de données hybride
Azure Data Factory, Mouvement de données hybride
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
 
Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »Quand Koha rencontre Primo - « Une API comédie »
Quand Koha rencontre Primo - « Une API comédie »
 
J1 T1 5 - Stream Analytics - Cédric Charlier
J1 T1 5 - Stream Analytics - Cédric CharlierJ1 T1 5 - Stream Analytics - Cédric Charlier
J1 T1 5 - Stream Analytics - Cédric Charlier
 
Atelier : Développement rapide d’une application basée surXWiki
Atelier : Développement rapide d’une application basée surXWikiAtelier : Développement rapide d’une application basée surXWiki
Atelier : Développement rapide d’une application basée surXWiki
 
Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02Adbs2012presentation 120527125034-phpapp02
Adbs2012presentation 120527125034-phpapp02
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?
 
Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...Analytics et Big Data, une histoire de cubes...
Analytics et Big Data, une histoire de cubes...
 

A la recherche d'ElasticSearch

  • 1. A la recherche d’ElasticSearch 25 Juin 2015 – GauthierWallet (@Ninnir)
  • 2. Qu’est-ce qu’une recherche ? • Filtrer des informations • Retourner un ensemble pertinent
  • 3. ElasticSearch «You know, for Search » • Engin de recherche et d’analyse • Créé en 2004 par Shay Banon • Architecture RESTful • Système distribué • Open Source (license Apache) • Base sur Apache Lucene
  • 4. Les données • Orientées « Documents » • Pas de mapping prédéfini • Représentées via JSON • Stockées dans des index… • … en fonction de types • Identifiés par des IDs
  • 5. Pour comparer à du SQL… • Database = Index • Table =Type • Row = Document
  • 6. Ajout, édition, suppression, récupération… • Supporte le POST / PUT / DELETE / GET • BulkAPI • Versionning • Mise à jour partielle
  • 7. Recherche type • Via HTTP : http://127.0.0.1:9200/:index/:type/[:action/id] • Total Hits • _index du document • _id du document • _type du document • _source : contenu du document
  • 8. Trouver des données par… • Ids • Term /Terms • Range • QueryString • Geo-spatial • Regex • Boolean • …
  • 9. … en utilisant… • Queries • Highlighting • Facets • Scrolling • Filters
  • 10. Recommandations pratiques • Java 8 • Prévoir de la RAM • + de data ? + de shards ! • Pas besoin de commit / flush • Configurer ElasticSearch / !
  • 11. Et la sécurité ? Et les logs ? • Shield : Gérer la sécurité de votre stack ELK (cryptage, contrôles d’accès, etc.) • Logstash : Outil de transport, de collecte et d’amélioration de vos données • Watcher : outil de gestion des alertes et notifications • Kibana : Outil de visualisation des données via dashboarding (Open-Source) • Marvel : Kibana évolué et payant • Beats : Collecteur de données de logs, métriques d’infrastructure
  • 12. Aller plus loin… • AWS : https://github.com/elastic/elasticsearch-cloud-aws • Head : https://github.com/mobz/elasticsearch-head • Import/Export : https://github.com/jprante/elasticsearch-knapsack • … et bien d’autres !
  • 13. …, toujours plus loin ! • @Kimchy (Shay Banon) : https://twitter.com/kimchy • @dadoonet (David Pilato) : https://twitter.com/dadoonet • … et bien d’autres !
  • 14. Démo
  • 15. A vous de jouer !

Notas do Editor

  1. Renommé recemment en Elastic
  2. Amazon le fait, Google le fait… Pour vos données, ce n’est pas qu’un simple « LIKE %% » ! Avant de chercher, il est nécessaire de stocker… et pour pouvoir BIEN chercher, il faut BIEN indexer 
  3. Shay Banon :Travaillait sur le projet Compass par le passé Système distribué shards = partitions: Primary shards, Replicas shards http://stackoverflow.com/questions/15694724/shards-and-replicas-in-elasticsearch Fiable, scalable, gère la tolérance aux pannes et la résilience des données Indexation distribuée, replication, recherche load balancée Apache Lucene : library de recherche rapide et performante – Index et recherche
  4. Il existe une API « Batch » ou « Bulk » : éviter l’engorgement quand beaucoup de requêtes effectuées Versionning (exemple avec update d’un document -> retourne un _version incrémenté) Supporte l’update partielle
  5. Possibilités de rechercher des documents sur plusieurs types, ET plusieurs index (http://127.0.0.1:9200/:index1,:index2/:type1,:type2/[:action/id]) Possibilité de chercher sur un index particulier en fonction d’un champ Tous les champs peuvent être requêtés La pertinence est calculée en fonction des occurrences d’un terme dans un document Chaque mot de la recherche est normalisé pour pouvoir être traité (lowercase, pas de caractères spéciaux, etc.)
  6. Plusieurs types de queries : Bool multi critères : MUST, MUST NOT, SHOULD MatchAll (tout le contenu) Term : recherche d’un terme sans analyse Text QueryString (recherche avec analyse et syntaxe Lucene possible) Range (intervalle) Prefix (pour l(autocomplétion) Fuzzy (ressemblance) Facets: analyse des résultats en quasi temps réel (nombre d’occurrences d’un champ donné) Plutot que de recup les documents qui matchent, on retourne la distribution des valeurs dans le set de documents Equivalent du count() & group by en SQL Scrolling : Aggréger et récupérer du contenu temporairement Permet de stocker des données pendant que l’on change d’index. Ex: j’ai un index avec des tweets récupérés selon un hashtag donné, je voudrais récupérer dans un index ceux qui contiennent un hashtag associé : #TDF et #EtapeDuTour Filters: Plus rapide que des requêtes Pas de scoring Système de cache pour accès plus rapide
  7. - Plus de RAM = plus de performances. Les documents requêtés sont stockés en RAM pour des accès plus rapide - Bien que ES soit « Zero Conf », il y a un minimum syndical (éviter que ES ne prenne toute la RAM disponible… ce qui fait tomber votre serveur, votre VM, ou votre container…)
  8. Il y a un plugin pour ce que vous souhaitez !
  9. Kimchy (EN) : créateur d’ES Dadoonet (FR) : membre de la communauté, contributeur actif, répond aux tweets !
  10. Exemple avec un River de connexion à l’Api de Streaming Twitter Présentation du plugin « head » Dashboarding et aggrégations de données avec Kibana