Présentation d'Elasticsearch lors de Devoxx France 2012
Contenu en français
English translation available here : http://www.slideshare.net/dadoonet/elasticsearch-devoxx-france-2012-english-version
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchfrancelabs
Cette présentation donne un comparatif sur les technologie de recherche open source que sont Apache Solr et ElasticSearch. Après avoir introduit brièvement les notions de moteur de recherche open source pour entreprise, Lucene, Solr et ElasticSearch seront expliqués.
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
MongoDB ? Elastic ? Ces technologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre deux technologies. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Solr and Elasticsearch in Action (at Breizhcamp)Lucian Precup
Lucene @ Breizhcamp
Lucene, la fameuse technologie pour l’indexation, la recherche et l’analyse du texte a été présente à l'édition 2012 de Breizhcamp à travers deux sessions « Tools In Action » : ElasticSearch et Solr.
Allant au-delà du tutorial, ces deux sessions ont permis de découvrir des patterns d’architecture pour l'intégration d'un moteur de recherche et navigation dans un SI ainsi que de comprendre l’alternative qu’offrent les moteurs de recherche et les approches NoSQL aux bases de données relationnelles. Des subtilités sur l’analyse du texte ont été abordées afin de montrer les forces mais aussi les limites de la magie Lucene. Les démonstrations de chaque technologie et des outils dans leur écosystème ont rendu la présentation plus interactive.
La vidéo de la présentation se trouve sur Parleys (http://www.parleys.com/#st=5&id=3351).
Présentation donnée avec @_bruno_b_ lors du @breizhcamp 2016
Vous avez coder votre première application avec MongoDB, c'est décidé votre prochain vrai prochain utilisera cette base NoSQL. Il vous faudra éviter quelques écueils avant que tout fonctionne en production. Nous en parlons dans cette présentation.
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...MongoDB
Il s'agit du troisième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire vous explique en quoi consiste l'architecture de bases de données orientée Document.
Solr + Hadoop - Fouillez facilement dans votre système Big Datafrancelabs
Un système Hadoop a pour but de facilement gérer le Big Data, que ce soit en termes de stockage comme en termes de calculs. Il ne se focalise pas sur l’exploration des données qu’il héberge. Le moteur de recherche Apache Solr devient l’outil de recherche de référence dans l’écosystème Hadoop, adopté par Cloudera et HortonWorks. Dans cette intervention, ils présentent d’abord un historique des 2 projets, pour bien comprendre leurs liens. Ils expliquent ensuite les différents niveaux d’intégrations possibles, et ils terminent par une démonstration d’intégration, afin de comprendre les avantages d’utiliser Solr pour explorer le big data d’un Hadoop.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
Après les 2 précédents ateliers Varnish, c’est au tour d’ElasticSearch de passer entre les mains Ludovic Piot (Oxalide) avec Edouard Fajnzilberg (Kernel42) . Ils ont déroulé le sujet avec les points de vue Syadmin et Dev.
Subject: Oxalide's workshop about an overview of elasticsearch.
Date: 10-mar-2016
Speakers: Edouard Fajnzilberg (Kernel42) and Ludovic Piot (Oxalide)
Language: french
Video capture: https://youtu.be/3bPoeVoUdFI
Main topics:
When do we use elasticsearch?
Why is it cool?
Introduction to Head plugin
Introduction to the REST API
Introduction to the Query DSL and the JSON document
How to configure a cluster?
How does it compare to a SGBD-R?
How does a reversed-index work?
An explaination of Lucene Segments
An explaination of the cluster architecture
An overview of the mappings (principles, dynamic mapping and templates)
An overview of the aggregations (buckets, metrics, multiple, nestable, sortable, aggregation types, use cases, pipelines)
An overview of the ecosystem (Sense, Logstash, Beats, Kibana, TimeLion, Marvel, Watcher, Shield, Head, Kopf, HQ, Inquisitor, BigDesk, SegmentSpy)
Présentation d'Elasticsearch lors de Devoxx France 2012
Contenu en français
English translation available here : http://www.slideshare.net/dadoonet/elasticsearch-devoxx-france-2012-english-version
Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearchfrancelabs
Cette présentation donne un comparatif sur les technologie de recherche open source que sont Apache Solr et ElasticSearch. Après avoir introduit brièvement les notions de moteur de recherche open source pour entreprise, Lucene, Solr et ElasticSearch seront expliqués.
[Breizhcamp 2015] MongoDB et Elastic, meilleurs ennemis ?Sébastien Prunier
MongoDB ? Elastic ? Ces technologies sont elles faites pour être concurrentes ?
C'est l'histoire d'une rencontre entre deux technologies. A l'occasion de cette conférence vous apprendrez comment MongoDB et Elastic peuvent se compléter, comment tirer partie du meilleur de chaque monde : "le bon outil pour le bon usage".
Enfin, nous vous présenterons les principaux patterns d'architecture permettant d'intégrer ces deux technologies.
Solr and Elasticsearch in Action (at Breizhcamp)Lucian Precup
Lucene @ Breizhcamp
Lucene, la fameuse technologie pour l’indexation, la recherche et l’analyse du texte a été présente à l'édition 2012 de Breizhcamp à travers deux sessions « Tools In Action » : ElasticSearch et Solr.
Allant au-delà du tutorial, ces deux sessions ont permis de découvrir des patterns d’architecture pour l'intégration d'un moteur de recherche et navigation dans un SI ainsi que de comprendre l’alternative qu’offrent les moteurs de recherche et les approches NoSQL aux bases de données relationnelles. Des subtilités sur l’analyse du texte ont été abordées afin de montrer les forces mais aussi les limites de la magie Lucene. Les démonstrations de chaque technologie et des outils dans leur écosystème ont rendu la présentation plus interactive.
La vidéo de la présentation se trouve sur Parleys (http://www.parleys.com/#st=5&id=3351).
Présentation donnée avec @_bruno_b_ lors du @breizhcamp 2016
Vous avez coder votre première application avec MongoDB, c'est décidé votre prochain vrai prochain utilisera cette base NoSQL. Il vous faudra éviter quelques écueils avant que tout fonctionne en production. Nous en parlons dans cette présentation.
Webinaire 3 de la série « Retour aux fondamentaux » : Conception de schémas :...MongoDB
Il s'agit du troisième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire vous explique en quoi consiste l'architecture de bases de données orientée Document.
Solr + Hadoop - Fouillez facilement dans votre système Big Datafrancelabs
Un système Hadoop a pour but de facilement gérer le Big Data, que ce soit en termes de stockage comme en termes de calculs. Il ne se focalise pas sur l’exploration des données qu’il héberge. Le moteur de recherche Apache Solr devient l’outil de recherche de référence dans l’écosystème Hadoop, adopté par Cloudera et HortonWorks. Dans cette intervention, ils présentent d’abord un historique des 2 projets, pour bien comprendre leurs liens. Ils expliquent ensuite les différents niveaux d’intégrations possibles, et ils terminent par une démonstration d’intégration, afin de comprendre les avantages d’utiliser Solr pour explorer le big data d’un Hadoop.
Webinaire 4 de la série Retour aux fondamentaux : Indexation avancée, index d...MongoDB
Il s'agit du quatrième webinaire de la série « Retour aux fondamentaux » qui a pour but de vous présenter la base de données MongoDB. Ce webinaire expliquera l’Indexation avancée, les index de texte et géospatiaux.
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
Après les 2 précédents ateliers Varnish, c’est au tour d’ElasticSearch de passer entre les mains Ludovic Piot (Oxalide) avec Edouard Fajnzilberg (Kernel42) . Ils ont déroulé le sujet avec les points de vue Syadmin et Dev.
Subject: Oxalide's workshop about an overview of elasticsearch.
Date: 10-mar-2016
Speakers: Edouard Fajnzilberg (Kernel42) and Ludovic Piot (Oxalide)
Language: french
Video capture: https://youtu.be/3bPoeVoUdFI
Main topics:
When do we use elasticsearch?
Why is it cool?
Introduction to Head plugin
Introduction to the REST API
Introduction to the Query DSL and the JSON document
How to configure a cluster?
How does it compare to a SGBD-R?
How does a reversed-index work?
An explaination of Lucene Segments
An explaination of the cluster architecture
An overview of the mappings (principles, dynamic mapping and templates)
An overview of the aggregations (buckets, metrics, multiple, nestable, sortable, aggregation types, use cases, pipelines)
An overview of the ecosystem (Sense, Logstash, Beats, Kibana, TimeLion, Marvel, Watcher, Shield, Head, Kopf, HQ, Inquisitor, BigDesk, SegmentSpy)
Questionnaire Banque Nationale Maladies Raresisyrare
Cette présentation présente le retour d'information national décrivant la manière dont les centres nationaux maladies rares gèrent les données patients.
[Etude Easypanel-Testntrust] - Les marques dont les français veulent être Pré...Xavier Souris
Parmi 18 secteurs d'activité et 450 marques, retrouvez les marques préférées des français dont ils souhaiteraient devenir Président(e) des Clients.
Le Président des Clients est une élection permettant aux internautes clients de leurs marques préférées, de faire campagne puis de se faire élire pendant un an. Chaque Président des Clients vit une année exceptionnelle à la découverte des coulisses de sa marque préférée : invitations aux évènements de la marque, visites VIP du siège de la marque, de magasins, rencontres avec la direction générale de l'entreprise, il donne son avis et est l'ambassadeur des clients de l'enseigne. Il permet à la marque de communiquer sur sa Relation Client de manière originale et pertinente avec à la clef des retombées presse conséquentes. A ce jour, 25 marques ont eu un Président des Clients parmi lesquelles : BUT, PMU, IKEA, NIVEA, EVIAN et LEROY MERLIN...
A brief summary of the most important reasons about why choosing MongoDB might be a good solution in current common problems in IT. This talk is dedicated to software engineers, DBA, managers, CTO that could know MongoDB but don't see why they should deploy it in production.
Présentation de ElasticSearch / Digital apéro du 12/11/2014Silicon Comté
ElasticSearch est un moteur de recherche open source reposant sur une interface JSON, pouvant fonctionner en mode distribué et interrogeable facilement via son API REST. Cédric Nirousset, Développeur web indépendant, vous fera découvrir les intérêts de l’utiliser dans vos applications à travers quelques exemples pratiques.
A propos de l’intervenant : Cédric Nirousset, diplomé dut DUT SRC Montébliard en 2006 et de l’UTBM en Informatique en 2010, il est maintenant développeur web indépendant à Besançon, travaillant pour des entreprises de toutes tailles et tous horizons. Suivez Cédric sur Twitter @Nyr0
Conférence Drupagora 2011: Drupal et les moteurs de recherche: Apache SolRgwenael chichery
L'importance de proposer un moteur de recherche performant.
Les meilleures solutions de recherche sous Drupal 6 et Drupal 7.
Pour utiliser Apache SolR avec Drupal 7.
Traduire une application n'est pas facile.
GetText est une solution efficace et robuste, souvent ignorée.
Ces slides datent un peu mais restent pertinents. J'y mentionne quelques casse-têtes récurrents : avant de choisir une solution d'I18N, vérifiez bien que vos alternatives gèrent ces cas.
Translations are hard.
GetText is an often overlooked solution, but it has many advantages.
These slides are a bit old but still relevant. They have some details about translations horror stories: before choosing any I18N solution, match these against your prospective answers.
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
Présentation donnée lors de Devoxx France 2012, présentant comment réaliser une application moderne avec les technologies HTML5, Spring, NoSQL (Cassandra) et mobiles.
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
Présentation donnée par Julien Dubois lors de Devoxx France 2012, présentant comment réaliser une application moderne avec les technologies HTML5, Spring, NoSQL (Cassandra) et mobiles.
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Dans la vraie vie, (nous) développeurs, devons maîtriser un grand nombres de langages, pour le frontend, le backend, nous devons produire parfois très rapidement, sur des infrastructures non adaptées, trop peu performantes pour accueillir nos bons vieux CMS ! Voyons comment NodeJS, peut nous aider (dans la vraie vie)
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris AZUG FR
Service très convoité dans le monde des développeurs Azure, DocumentDB se présente devant vous avec toutes les nouveautés ainsi que des expériences et cas d'utilisation.
Devoxx: Tribulation d'un développeur sur le CloudTugdual Grall
Comme beaucoup de développeurs une grande partie de mon temps libre est utilisé pour découvrir de nouvelles technologies et développer des applications avec celles-ci.
J'ai donc choisi de découvrir le développement d'application Java sur le cloud, avec Google AppEngine, pour créer le site http://www.resultri.com qui permet de gérer les resultats de triathlon (mon autre passion).
Développer cette application est une aventure interessante que je partage avec vous durant ce BOF:
découverte de GAE et des outils de developpement
les "surprises" du NoSQL, surtout pour un cerveau "cablé relationnel comme le mien"
hmmm tout n'est pas gratuit?
les quelques trucs à savoir : l'importance de memcache, utilisation de CloudSQL, les batchs....
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
Jabes 2011 - Ateliers "Sudoc, Calames, thèses.fr et le web de données"ABES
Jabes 2011 - Ateliers "Sudoc, Calames, thèses.fr et le web de données", Yann Nicolas, Abes, chef du département "Études et Projets, dans le cadre des Journées Abes 2011
Node.js et les nouvelles technologies javascriptKhalid Jebbari
Présentation sur Node.js et les nouvelles technologies javascript, qui a eu lieu dans les locaux de Smile, à Levallois (92).
Retour d'exploration par un développeur Drupal (moi) sur ces technologies, et comparaison avec Drupal.
Web sémantique et Web de données, et si on passait à la pratique ?Antidot
Le web sémantique, théorisé il y a déjà longtemps par Tim Berners-Lee, a tardé à prendre son envol. Mais aujourd'hui la vague est là et les premiers à la surfer sont les grands acteurs du web, comme Google qui bâtit son Knowledge Graph. Les standards sont aujourd'hui matures, et des organisations de toutes tailles les mettent en oeuvre dans des projets concrets, avec un vrai retour sur investissement. Cependant faire une application à l’aide des technologies du Web Sémantique peut s’avérer être une tâche fastidieuse pour ceux qui souhaitent découvrir ce domaine. De nombreuses questions restent souvent en suspens. Quel est le rôle des ontologies ? Pourquoi utiliser RDF et SPARQL ? Qu’est ce qu’un triplestore et comment l’exploiter ? Comment tirer parti du Web de données pour enrichir ses données métier à l'aide de ces outils ? Autant de questions auxquelles nous essaieront de répondre à partir d’un exemple concret : les données de l'institution culturelle Les Champs Libres à Rennes.
Similaire à Poitou charentes JUG - Elasticsearch (20)
2018-10-02 - Un moteur de recherche NoSQL pour chercher^H^H^H^H^H^H^H^H trouv...David Pilato
Vous cherchez toujours dans vos données avec des SELECT * FROM person WHERE name like '%david%pilato%" ?
Au delà des performances obtenues, êtes-vous certain de renvoyer les résultats les plus pertinents pour vos utilisateurs d'abord ?
Venez découvrir comment un moteur de recherche vous aidera à répondre aux questions posées par vos utilisateurs, de manière pertinente et efficace, tout en apportant des fonctionnalités d'analyse des résultats et ce, quelque soit le volume...
Managing your black friday logs Voxxed LuxembourgDavid Pilato
Surveiller une application complexe n'est pas une tâche aisée, mais avec les bons outils, ce n'est pas si sorcier. Néanmoins, des périodes fortes telles que les opérations de type "Black Friday" (Vendredi noir) ou période de Noël peuvent pousser votre application aux limites de ce qu'elle peut supporter, ou pire, la faire crasher. Parce que le système est fortement sollicité, il génère encore davantage de logs qui peuvent également mettre à mal votre système de supervision.
Dans cette session, j'aborderai les bonnes pratiques d'utilisation de la suite Elastic pour centraliser et monitorer vos logs. Je partagerai également avec vous quelques trucs et astuces pour vous aider à passer sans souci vos Vendredis noirs !
Nous verrons :
* Les architectures de monitoring
* Trouver la taille optimale pour l'API _bulk
* Distribuer la charge
* Taille des index et des shards
* Optimiser les E/S disque
Vous ressortirez de la session avec : des bonnes pratiques pour bâtir son système de monitoring avec la suite Elastic, le tuning avancé pour optimiser les performances d'ingestion et de recherche.
Un moteur de recherche NoSQL pour chercher^H^H^H^H^H^H^H^H trouver...David Pilato
Vous cherchez toujours dans vos données avec des SELECT * FROM person WHERE name like '%david%pilato%" ?
Au delà des performances obtenues, êtes-vous certain de renvoyer les résultats les plus pertinents pour vos utilisateurs d'abord ?
Venez découvrir comment un moteur de recherche vous aidera à répondre aux questions posées par vos utilisateurs, de manière pertinente et efficace, tout en apportant des fonctionnalités d'analyse des résultats et ce, quelque soit le volume...
Managing your Black Friday Logs NDC OsloDavid Pilato
Monitoring an entire application is not a simple task, but with the right tools it is not a hard task either. However, events like Black Friday can push your application to the limit, and even cause crashes. As the system is stressed, it generates a lot more logs, which may crash the monitoring system as well. In this talk I will walk through the best practices when using the Elastic Stack to centralize and monitor your logs. I will also share some tricks to help you with the huge increase of traffic typical in Black Fridays.
Topics include:
* monitoring architectures
* optimal bulk size
* distributing the load
* index and shard size
* optimizing disk IO
Takeaway: best practices when building a monitoring system with the Elastic Stack, advanced tuning to optimize and increase event ingestion performance.
Managing your black friday logs - Code EuropeDavid Pilato
Monitoring an entire application is not a simple task, but with the right tools it is not a hard task either. However, events like Black Friday can push your application to the limit, and even cause crashes. As the system is stressed, it generates a lot more logs, which may crash the monitoring system as well. In this talk I will walk through the best practices when using the Elastic Stack to centralize and monitor your logs. I will also share some tricks to help you with the huge increase of traffic typical in Black Fridays.
Topics include:
* monitoring architectures
* optimal bulk size
* distributing the load
* index and shard size
* optimizing disk IO
Takeaway: best practices when building a monitoring system with the Elastic Stack, advanced tuning to optimize and increase event ingestion performance.
Managing your black Friday logs - CloudConf.ITDavid Pilato
Monitoring an entire application is not a simple task, but with the right tools it is not a hard task either. However, events like Black Friday can push your application to the limit, and even cause crashes. As the system is stressed, it generates a lot more logs, which may crash the monitoring system as well. In this talk I will walk through the best practices when using the Elastic Stack to centralize and monitor your logs. I will also share some tricks to help you with the huge increase of traffic typical in Black Fridays.
Elasticsearch - Devoxx France 2012 - English versionDavid Pilato
Elasticsearch presentation for Devoxx France 2012
English translation (feel free to correct my bad english ;-) )
French version is available here : http://www.slideshare.net/dadoonet/elasticsearch-devoxx-france-2012
4. Pour la démo
Faites du bruit sur Twitter
avec le hashtag
#elasticsearch
mardi 5 février 13
5. SQL Classique
Cherche moi un document
de décembre 2011 portant sur la france
et contenant produit et david
En SQL :
SELECT
doc.*, pays.*
FROM
doc, pays
WHERE
doc.pays_code = pays.code AND
doc.date_doc > to_date('2011-12', 'yyyy-mm') AND
doc.date_doc < to_date('2012-01', 'yyyy-mm') AND
lower(pays.libelle) = 'france' AND
lower(doc.commentaire) LIKE ‘%produit%' AND
lower(doc.commentaire) LIKE ‘%david%';
mardi 5 février 13
6. Les limites de la
recherche SQL
• Performances désastreuses sur du like
% sur des millions de ligne
• Plombe les performances de l’insertion
• Pas de tolérance aux fotes de frappe
• En général, on se limite aux champs
figés ou codifiés
• Recherche « google » impossible !
mardi 5 février 13
7. Au final, on obtient
• Autrement dit :
tu as intérêt à
savoir ce que
tu cherches !
• Fouiller est
interdit !
mardi 5 février 13
8. Un moteur de recherche
• Un moteur de recherche est composé de :
• un moteur d’indexation de documents
• un moteur de recherche sur les index
• De fait, un moteur de recherche est
énormément plus rapide qu’une base de
données pour faire des recherches :
c’est son métier !
mardi 5 février 13
10. Elasticsearch
Your Data, your Search !
mardi 5 février 13
11. Elasticsearch
• Moteur de recherche pour la génération NoSQL
• Basé sur le standard Apache Lucene
• Masque la complexité Java/Lucene à l’aide de
services standards HTTP / RESTful / JSON
• Utilisable à partir de n’importe quelle
technologie
• Ajoute la couche cloud manquante à Lucene
• C’est un moteur, pas une interface graphique !
mardi 5 février 13
12. Points clés
• Simple ! En quelques minutes (Zero Conf), on dispose
d’un moteur complet prêt à recevoir nos documents à
indexer et à faire des recherches.
• Efficace ! Il suffit de démarrer des nœuds
Elasticsearch pour bénéficier immédiatement de la
réplication, de l’équilibrage de charge.
• Puissant ! Basé sur Lucene, il en parallélise les
traitements pour donner des temps de réponse
acceptables (en général inférieurs à 100ms)
• Complet ! Beaucoup de fonctionnalités : analyse et
facettes, percolation, rivières, plugins, …
mardi 5 février 13
13. Ranger ses données
• Document : Un objet représentant les données (au sens
NoSQL).
Penser "recherche", c'est oublier le SGBDR et penser
"Documents"
{
"text": "Bienvenue à la conférence #elasticsearch pour #JUG",
"created_at": "2012-04-06T20:45:36.000Z",
"source": "Twitter for iPad",
"truncated": false,
"retweet_count": 0,
"hashtag": [ { "text": "elasticsearch", "start": 27, "end": 40 },
{ "text": "JUG", "start": 47, "end": 55 } ],
"user": { "id": 51172224, "name": "David Pilato",
"screen_name": "dadoonet", "location": "France",
"description": "Soft Architect, Project Manager, Senior Developper.rnAt this time, enjoying NoSQL
world : CouchDB, ElasticSearch.rnDeeJay 4 times a year, just for fun !" }
}
• Type : Regroupe des documents de même type
• Index : Espace logique de stockage des documents dont les
types sont fonctionnellement communs
mardi 5 février 13
17. Les résultats
• Elasticsearch renvoie les 10 premiers
résultats. Il fournit l’API permettant
de naviguer de page en page (from,
size)
• Par défaut, le tri est réalisé sur le
score de pertinence
mardi 5 février 13
18. Query DSL
• Requêtes précises : plutôt que de
chercher « à la google », on peut
utiliser des critères précis :
$ curl -XPOST localhost:9200/twitter/tweet/_search -d ’{
"bool" : {
"must" : {
"term" : { "user" : "kimchy" }
},
"must_not" : {
"range" : {
"age" : { "from" : 10, "to" : 20 }
}
},
"should" : [
{
"term" : { "tag" : "wow" }
},{
"match" : { "tag" : "elasticsearch is cool" }
}
]
}
}’
mardi 5 février 13
20. La collecte
Doc
Stockage
Données
mardi 5 février 13
21. La collecte
Doc
Stockage
Données
Doc
mardi 5 février 13
22. La collecte
Stockage
Données
Doc Doc
mardi 5 février 13
23. La collecte
Doc
Stockage
Données
Doc
Doc
mardi 5 février 13
24. La collecte
Stockage
Données
Doc
Doc
mardi 5 février 13
25. La collecte
Stockage
Données
Doc
Doc
mardi 5 février 13
26. Quelques Rivers...
• CouchDB River
• CouchBase River
• MongoDB River
• JDBC River
• Wikipedia River
• Twitter River
• RabbitMQ River
• ActiveMQ River
• RSS River
• LDAP River
• FS River
• Dropbox River
• Dick Rivers
mardi 5 février 13
27. Analyser
La puissance des facettes !
Faites parler vos données en les regardant sous différentes facettes !
(Et en temps quasi réel, s’il vous plait !)
mardi 5 février 13
31. Date Histogram Facet
Date Hashtag
2012-04-18 1 Par mois
2012-04-18 5 Date Count
h 2012-04-18 2 2012-04 9
2012-04-18 2
2012-04-18 6 Par jour
h 2012-04-19 3 Date Count
2012-04-19 3 2012-04-18 5
2012-04-19 7 2012-04-19 3
h 2012-04-20 4 2012-04-20 1
mardi 5 février 13
35. Site marchand
Ranges
Term
Term
Ranges
mardi 5 février 13
36. Analyse temps-réel
• Faire un matchAll sur l'ensemble des données
• Actualiser toutes les x secondes
• Indexer en même temps les nouvelles données
Date histogram
Term
mardi 5 février 13
42. Démonstrations
http://www.pilato.fr/devoxxfr_demo/
http://onemilliontweetmap.com/
http://localhost:9200/_plugin/demo/
mardi 5 février 13
43. Architecture
Un peu plus de technique : partitions / réplications / scalabilité
mardi 5 février 13
44. Lexique
• Nœud (node) : Une instance d'Elasticsearch (~ machine ?)
• Cluster : Un ensemble de nœuds
• Partition (shard) : permet de découper un index en plusieurs
parties pour y distribuer les documents
• Réplication (replica) : recopie d’une partition en une ou
plusieurs copies dans l'ensemble du cluster
• Partition primaire (primary shard) : partition élue
"principale" dans l'ensemble du cluster. C'est là que se fait
l'indexation par Lucene. Il n'y en a qu'une seule par shard dans
l'ensemble du cluster.
• Partition secondaire (secondary shard) : partitions
secondaires stockant les replicas des partitions primaires.
mardi 5 février 13
49. Réallocation dynamique
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Shard 0 Shard 0
Shard 1 Shard 1 Shard 1
Le tuning, c'est trouver le bon équilibre entre le
nombre de nodes, shards et replicas !
mardi 5 février 13
50. Indexons un document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Shard 0 Shard 0
Shard 1 Shard 1
Doc
1 Client $ curl -XPUT localhost:9200/twitter/tweet/1 -d '
CURL {
"text": "Bienvenue à la conférence #elasticsearch pour #JUG",
"created_at": "2012-04-06T20:45:36.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
51. Indexons un document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc
Shard 0 1 Shard 0
Shard 1 Shard 1
Client $ curl -XPUT localhost:9200/twitter/tweet/1 -d '
CURL {
"text": "Bienvenue à la conférence #elasticsearch pour #JUG",
"created_at": "2012-04-06T20:45:36.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
52. Indexons un document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc Doc
Shard 0 1 Shard 0 1
Shard 1 Shard 1
Client $ curl -XPUT localhost:9200/twitter/tweet/1 -d '
CURL {
"text": "Bienvenue à la conférence #elasticsearch pour #JUG",
"created_at": "2012-04-06T20:45:36.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
53. Indexons un 2ème
document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc Doc
Shard 0 1 Shard 0 1
Shard 1 Shard 1
Doc
2
Client $ curl -XPUT localhost:9200/twitter/tweet/2 -d '
CURL {
"text": "Je fais du bruit pour #elasticsearch à #JUG",
"created_at": "2012-04-06T21:12:52.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
54. Indexons un 2ème
document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc Doc
Shard 0 1 Shard 0 1
Shard 1 Shard 1
Doc
2
Client $ curl -XPUT localhost:9200/twitter/tweet/2 -d '
CURL {
"text": "Je fais du bruit pour #elasticsearch à #JUG",
"created_at": "2012-04-06T21:12:52.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
55. Indexons un 2ème
document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc Doc
Shard 0 1 Shard 0 1
Shard 1 Doc Shard 1
2
Client $ curl -XPUT localhost:9200/twitter/tweet/2 -d '
CURL {
"text": "Je fais du bruit pour #elasticsearch à #JUG",
"created_at": "2012-04-06T21:12:52.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
56. Indexons un 2ème
document
Cluster
Nœud 1 Nœud 2 Nœud 3 Nœud 4
Doc Doc
Shard 0 1 Shard 0 1
Doc Doc
Shard 1 Shard 1
2 2
Client $ curl -XPUT localhost:9200/twitter/tweet/2 -d '
CURL {
"text": "Je fais du bruit pour #elasticsearch à #JUG",
"created_at": "2012-04-06T21:12:52.000Z",
"source": "Twitter for iPad",
...
}'
mardi 5 février 13
64. La percolation
Ou la recherche inversée
mardi 5 février 13
65. Usage courant d’un
moteur de recherche
• J’indexe un document
• Je cherche de temps en temps si un
document m’intéresse
• Avec de la chance, il sera bien placé au
niveau pertinence dans les résultats.
Sinon, il passe inaperçu !
mardi 5 février 13
66. La recherche inversée
• Enregistrer ses critères de recherche
• A chaque document indexé, on
récupère la liste des recherches qui
correspondent
• On a un « listener » sur le moteur
d’indexation : le percolator
mardi 5 février 13
73. Un analyseur
Un ensemble
de tokenizers et
de filtres
mardi 5 février 13
74. Un tokenizer
• Découpe une chaine en « mots » et
transforme :
• whitespace tokenizer :
"the dog!" -> "the", "dog!"
• standard tokenizer :
"the dog!" -> "the", "dog"
mardi 5 février 13
80. Autres fonctionnalités
• highlighting
• scoring
• sort
• explain
• multi get / multi search
• bulk
mardi 5 février 13
81. La communauté
~100 contributeurs directs au projet (+ de 3200 watchers et + de 620 forks)
mardi 5 février 13
82. La communauté
~170 inscrits sur la mailing list, 70 messages / mois, ~260 followers
mardi 5 février 13
83. Rejoignez le mouvement !
@ElasticsearchFR
www.elasticsearch.fr
ss
re
og
pr
in
Questions ?
Posez aussi vos questions sur elasticsearch-fr@googlegroups.com
Prochaines rencontres sur http://www.meetup.com/elasticsearchfr/
Slides sur http://fr.slideshare.net/dadoonet Sources sur https://github.com/elasticsearchfr/talks
mardi 5 février 13