SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
Besoin de	rien envie de	Search
OLIVIER	TAVARD
FRANCE	LABS
TELECOM	VALLEY	TECH	CONF SEARCH
31/05/16
L’importance business	du	search
Exemple	du	eCommerce
• 96%	des	visiteurs	d’un	site	de	e-commerce	considèrent	l’utilisation	d’un	moteur	de	
recherche	interne	comme	faisant	partie	de	leur	processus	d’achat.
• 73%	des	visiteurs d’un	site	d’eCommerce quittent le	site	au	bout	de	deux minutes	s’ils ne	
trouvent pas	ce qu’ils cherchent
Exemple	enterprise search
• Un	ingénieur	 passe	9h	par	semaine	à	chercher	des	documents	(source:	IDC)
Rappel	((très)	rapide)
Un moteur de recherche estun outil qui permet:
• De créerun index à partir de documents
Index
Index
Rappel	((très)	rapide)
Un moteur de recherche estun outil qui permet:
• De créerun index à partir de documents
• D’effectuerdes recherches dans cet index
Index
Rappel	((très)	rapide)
Index
coquilles
saint
Jacques
….
Document Requête
coquilles saint jacques
Coquilles saint-jacques
coquilles saint jacques
Coquilles SaintJacques
Analyser Analyser
Indexation Requête
Match!
Fonctionnalités de	Search:	trouver en	– de	2	min
Facettes:
Permet au	
client	d’affiner
sa recherche,	et	
de	trouver son	
produit en	
moins de	2	
minutes.
Fonctionnalités de	Search:	trouver en	– de	2	min
Facettes:	des	
types	variés et	
configurables:
Catégorie
Fenêtre de	prix
Couleur
Taille…
Fonctionnalités de	Search:	trouver en	– de	2	min
Autocompletion:
Permet de	guider	le	client	
lors de	sa requête
Fonctionnalités de	Search:	suggérer des	achats
Suggestions:
Propose	des	
alternatives
Fonctionnalités de	Search:	Moteur de	recommandations
Recommandations:
• Ex:	CarrierBuilder
• Génère	des	suggestions	de	postes	suivant	un	profil	utilisateur
Fonctionnalités de	Search:	Analyse des	logs
Fonctionnalités de	Search:	Géolocalisation
Recoder son	moteur de	recherche ?	Non	!
Pourquoi	ne	pas	le	faire	soi-même	avec	une	bonne	vieille	requête	sql ?
Moteur	de	recherche	:
• Résultats	scorés
• Optimisé	pour	récupérer	un	doc	à	partir	de	son	contenu
• Non	relationnel,	structure	non	fixe
• Possibilités	d’utiliser	des	fonctionnalités	spécifiques	au	search
Les	technos de	recherche open	source	les	plus	connues
Apache	Lucene
Apache	Solr
ElasticSearch
Lucene	?
Créé en 2000	par	Doug	Cutting.	Version	actuelle:	Lucene 6.0.1	(Mai	2016)
Projet de	la	fondationApache	depuis 2001
Librairie de	recherche full-text
Rapide,	fiable,	customisable,	flexible
100 %	java	(pas	de	dépendences)
Solr ?
Lucene « embarqué »	dans une webapp
Moteur de	recherche full	text	scalable
Créé en	2004	par	YonikSeeley	à CENT	Networks
En	2010,	fusion	des	projets Lucene :	tous les	deux sous	la	fondationApache
Version	Actuelle :	Solr 6.0.1	(Mai	2016)
ElasticSearch ?
Basé sur Lucene
Moteur de	recherche full	text	orienté analytics	scalable
Elasticsearch a	été créé par	Shay	Banon en	2004
Licence Apache	2.0
Version	actuelle :	2.3.3	(Mai	2016)
Moteur de	recherche et	Big	Data
Scalabilité
Haute disponibilité
Consistance
Simplicité
Elasticité
Moteur de recherche et Big Data – Les shards
Sharding :
• Un shard est un morceau d’index
• Une recherche distribuée se fait sur tous les shards (donc l’index complet)
• Utile pour gérerun gros index
Shard3
Queries
Shard1 Shard2
Aggregated
queries
Subqueries
Moteur de recherche et Big Data :
Leaders/Replicas
Leaders etreplicaspour la réplication:
• Pas de « maître/esclave » mais des « leaders/replicas » (un replica peut devenir un
leader)
• Un leaderet ses replicas contiennent le même shard
• Utile pour gérerune grosse charge de requêtes et pour la haute disponibilité
Leader
Shard 1
Replica
2 Shard
2
Replica
1 Shard 1
Load Balancer
Queries Queries Queries
Moteur de recherche et Big Data
Illustration
On veutrépartirl’index sur 2 shards
On veutun réplica par shard
D’où 4 machines
INDEX
Différences Solr et ElasticSearch
• 95% des fonctionnalités en commun
• Quelques différences :
• ElasticSearch
• Percolator
• Elastic s’oriente vers Analytics
• Outils ES puissants mais peuventêtre payants : Kibana, LogStash, Marvel, Shield…
• Solr
• Historiquement : focus sur fonctionnalités, cloud après
• Cross data center replication Solr 6
• Outils Solr : équivalents de ceux d’ES peuventêtre moins complets mais en licence Apache : console
admin, LogStash for Solr, Banana…
Clusters de serveurs
C’est l’heure du quiz
Quelle est la version actuelle de Lucene/Solr ?
• A) 2.3.3
• B) 42
• C) 6.0.1
Répondez vite en tweetant sur @TechConfQuiz
Ecosytème - Crawler
Roles:
• Connection au système externe
• Crawl des données
• Gère les autorisations
• Early Binding
• Late Binding
Ecosytème - Crawler
Roles:
• Push or pull mode
• Extraction du contenu (Tika)
• Crawling normal ou delta
• Attention à l’impactsur le système crawlé
• Throttling
• Scheduling
Ecosytème - Crawler
DifferentsCrawlers
• Aperture
• File, Web
• Nutch
• Web
• DIH
• DB, XML
• Beats
• LogStash
Framework
• Apache Manifold CF
Ecosytème - Crawler
Scénario de moteur de recherche fédéré :
• 1ère source : crawl de fichiers avecautorisation
• Environnement :
• File Share Windows
• Active Directory
• 2e source de données : crawl d’un CMS interne
• Phase de recherche fédérée enrespectant les autorisations
Ecosytème - Crawler
Scénario de moteur de recherche pour l’indexation de logs:
• Parsing de fichiers de logs avec LogStash
• Indexation dans ElasticSearch
• Visualisation avec Kibana
Use cases
Solr
• BOX:
• Index de 10 To
• 10 Mds docs
• 100 M requêtes / jour
• Documents bureautique
ElasticSearch
• Verizon
• 500 milliards docs
• Logs
CONTACT
N’hésitez pas à nous contacter pour toute demande
d’information
Notre site web : www.francelabs.com
Email: contact@francelabs.com
Tél: 09 72 43 72 85
Fax: 09 72 29 28 14
Adresse:
France Labs
CEEI – Nice Premium
1 boulevard Maître Maurice Slama
06200 Nice, France
Twitter: francelabs

Contenu connexe

Tendances

Tendances (20)

Finist JUG - Elasticsearch
Finist JUG - ElasticsearchFinist JUG - Elasticsearch
Finist JUG - Elasticsearch
 
Nantes JUG - Elasticsearch
Nantes JUG - ElasticsearchNantes JUG - Elasticsearch
Nantes JUG - Elasticsearch
 
A la recherche d'ElasticSearch
A la recherche d'ElasticSearchA la recherche d'ElasticSearch
A la recherche d'ElasticSearch
 
Elasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUGElasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUG
 
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshopMigrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
Migrer une application existante vers Elasticsearch - Nuxeo Tour 2014 - workshop
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Presentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUGPresentation Lucene / Solr / Datafari - Nantes JUG
Presentation Lucene / Solr / Datafari - Nantes JUG
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
Moteurs de recherche : un oeil sous le capot avec Elastic Search
Moteurs de recherche : un oeil sous le capot avec Elastic SearchMoteurs de recherche : un oeil sous le capot avec Elastic Search
Moteurs de recherche : un oeil sous le capot avec Elastic Search
 
Poitou charentes JUG - Elasticsearch
Poitou charentes JUG - ElasticsearchPoitou charentes JUG - Elasticsearch
Poitou charentes JUG - Elasticsearch
 
Solr formation Sparna
Solr formation SparnaSolr formation Sparna
Solr formation Sparna
 
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
 
Oxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewOxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overview
 
Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014Présentation de ElasticSearch / Digital apéro du 12/11/2014
Présentation de ElasticSearch / Digital apéro du 12/11/2014
 
Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)Presentation solr 10 Aout 2011 (french)
Presentation solr 10 Aout 2011 (french)
 
Tunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouriTunis big data_meetup__21_nov2015__aymenzaafouri
Tunis big data_meetup__21_nov2015__aymenzaafouri
 
Lausanne JUG - Elasticsearch
Lausanne JUG - ElasticsearchLausanne JUG - Elasticsearch
Lausanne JUG - Elasticsearch
 
Elasticsearch - Esme sudria
Elasticsearch - Esme sudriaElasticsearch - Esme sudria
Elasticsearch - Esme sudria
 
Migration d'Exalead vers Solr - IFCE et France Labs - Search Day 2014
Migration d'Exalead vers Solr - IFCE et France Labs - Search Day 2014Migration d'Exalead vers Solr - IFCE et France Labs - Search Day 2014
Migration d'Exalead vers Solr - IFCE et France Labs - Search Day 2014
 
T3UNI12 : SOLR workshop
T3UNI12 : SOLR workshopT3UNI12 : SOLR workshop
T3UNI12 : SOLR workshop
 

En vedette

How to make a simple cheap high availability self-healing solr cluster
How to make a simple cheap high availability self-healing solr clusterHow to make a simple cheap high availability self-healing solr cluster
How to make a simple cheap high availability self-healing solr cluster
lucenerevolution
 

En vedette (20)

Apprendre Solr en deux heures
Apprendre Solr en deux heuresApprendre Solr en deux heures
Apprendre Solr en deux heures
 
Integrate ManifoldCF with Solr
Integrate ManifoldCF with SolrIntegrate ManifoldCF with Solr
Integrate ManifoldCF with Solr
 
SharePoint Search for Dummies
SharePoint Search for DummiesSharePoint Search for Dummies
SharePoint Search for Dummies
 
2015 webinar : Boostez la recherche pour vos applications et sites web avec l...
2015 webinar : Boostez la recherche pour vos applications et sites web avec l...2015 webinar : Boostez la recherche pour vos applications et sites web avec l...
2015 webinar : Boostez la recherche pour vos applications et sites web avec l...
 
Solr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big DataSolr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big Data
 
Apache Solr pour le eCommerce chez Allopneus avec France Labs - Lib'day2014
Apache Solr pour le eCommerce chez Allopneus avec France Labs - Lib'day2014Apache Solr pour le eCommerce chez Allopneus avec France Labs - Lib'day2014
Apache Solr pour le eCommerce chez Allopneus avec France Labs - Lib'day2014
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
Concepts de Recherche dans un environnement WSS et MOSS
Concepts de Recherche dans un environnement WSS et MOSSConcepts de Recherche dans un environnement WSS et MOSS
Concepts de Recherche dans un environnement WSS et MOSS
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
2014.12.11 - TECH CONF #3 - Présentation Bootstrap
2014.12.11 - TECH CONF #3 - Présentation Bootstrap2014.12.11 - TECH CONF #3 - Présentation Bootstrap
2014.12.11 - TECH CONF #3 - Présentation Bootstrap
 
Sharepoint Search 2013 Back to Front
Sharepoint Search 2013 Back to FrontSharepoint Search 2013 Back to Front
Sharepoint Search 2013 Back to Front
 
How to make a simple cheap high availability self-healing solr cluster
How to make a simple cheap high availability self-healing solr clusterHow to make a simple cheap high availability self-healing solr cluster
How to make a simple cheap high availability self-healing solr cluster
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 
Livre blanc v1.0
Livre blanc v1.0Livre blanc v1.0
Livre blanc v1.0
 
Intro to Apache Solr
Intro to Apache SolrIntro to Apache Solr
Intro to Apache Solr
 
Searching for SharePoint Analytics
Searching for SharePoint AnalyticsSearching for SharePoint Analytics
Searching for SharePoint Analytics
 
Language support and linguistics in lucene solr & its eco system
Language support and linguistics in lucene solr & its eco systemLanguage support and linguistics in lucene solr & its eco system
Language support and linguistics in lucene solr & its eco system
 
Introduction to solr
Introduction to solrIntroduction to solr
Introduction to solr
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 

Similaire à Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
Ludovic Piot
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
Loïc Descotte
 

Similaire à Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch (20)

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
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patterns
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
 
Offre Search
Offre SearchOffre Search
Offre Search
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes web
 
Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)Instances multiples : les pièges à éviter (Liferay User Group France)
Instances multiples : les pièges à éviter (Liferay User Group France)
 
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"
 
360Eyes Business Objects metadonnées
360Eyes Business Objects metadonnées360Eyes Business Objects metadonnées
360Eyes Business Objects metadonnées
 
Meetup Devops Geneve 06/17- EBU Feedbacks
Meetup Devops Geneve 06/17- EBU Feedbacks Meetup Devops Geneve 06/17- EBU Feedbacks
Meetup Devops Geneve 06/17- EBU Feedbacks
 
Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?Analyse de logs SEO : pour qui, pour quoi, comment ?
Analyse de logs SEO : pour qui, pour quoi, comment ?
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
Recommender systems
Recommender systemsRecommender systems
Recommender systems
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Analyse combinée crawl + logs - Search Foresight & Botify
Analyse combinée crawl + logs - Search Foresight & BotifyAnalyse combinée crawl + logs - Search Foresight & Botify
Analyse combinée crawl + logs - Search Foresight & Botify
 
seim.pptx
seim.pptxseim.pptx
seim.pptx
 
SPS Paris2015 SharePoint, Scrum, Agilité, Frugalité
SPS Paris2015   SharePoint, Scrum, Agilité, FrugalitéSPS Paris2015   SharePoint, Scrum, Agilité, Frugalité
SPS Paris2015 SharePoint, Scrum, Agilité, Frugalité
 
Architecture d’une app qui fait 5 millions de visites par mois
Architecture d’une app qui fait 5 millions de visites par moisArchitecture d’une app qui fait 5 millions de visites par mois
Architecture d’une app qui fait 5 millions de visites par mois
 
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
 
Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?Quelles stratégies de Recherche avec Cassandra ?
Quelles stratégies de Recherche avec Cassandra ?
 

Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch