Transcript
Page 1: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Besoin derien envie deSearch

OLIVIERTAVARDFRANCELABS

TELECOMVALLEYTECHCONF SEARCH31/05/16

Page 2: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

L’importance businessdusearchExempledueCommerce• 96%desvisiteursd’unsitedee-commerceconsidèrentl’utilisationd’unmoteurderechercheinternecommefaisantpartiedeleurprocessusd’achat.

• 73%desvisiteurs d’unsited’eCommerce quittent lesiteauboutdedeux minutess’ils netrouvent pasce qu’ils cherchent

Exempleenterprise search• Uningénieur passe9hparsemaineàchercherdesdocuments (source: IDC)

Page 3: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Rappel((très)rapide)Un moteur de recherche est un outil qui permet:

• De créer un index à partir de documents

Index

Page 4: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Index

Page 5: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Rappel((très)rapide)Un moteur de recherche est un outil qui permet:

• De créer un index à partir de documents

• D’effectuer des recherches dans cet index

Index

Page 6: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

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!

Page 7: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:trouver en– de2min

Facettes:

Permet auclientd’affinersa recherche,etdetrouver sonproduit enmoins de2minutes.

Page 8: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:trouver en– de2min

Facettes:destypesvariés etconfigurables:

Catégorie

Fenêtre deprix

Couleur

Taille…

Page 9: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:trouver en– de2min

Autocompletion:

Permet deguiderleclientlors desa requête

Page 10: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:suggérer desachats

Suggestions:

Proposedesalternatives

Page 11: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:Moteur derecommandationsRecommandations:• Ex:CarrierBuilder

• Génèredessuggestionsdepostessuivantunprofilutilisateur

Page 12: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:Analyse deslogs

Page 13: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Fonctionnalités deSearch:Géolocalisation

Page 14: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Recoder sonmoteur derecherche ?Non!Pourquoinepaslefairesoi-mêmeavecunebonnevieillerequêtesql ?Moteurderecherche:• Résultatsscorés

• Optimisépour récupérerundocàpartirdesoncontenu

• Nonrelationnel, structurenonfixe

• Possibilitésd’utiliserdesfonctionnalités spécifiquesausearch

Page 15: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Lestechnos derecherche opensourcelesplusconnuesApacheLucene

ApacheSolr

ElasticSearch

Page 16: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Lucene?Créé en 2000parDougCutting.Versionactuelle:Lucene 6.0.1(Mai2016)

Projet delafondationApachedepuis 2001

Librairie derecherche full-text

Rapide,fiable,customisable,flexible

100 %java(pasdedépendences)

Page 17: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Solr ?Lucene « embarqué »dans une webapp

Moteur derecherche fulltextscalable

Créé en2004parYonik Seeleyà CENTNetworks

En2010,fusiondesprojets Lucene :tous lesdeux souslafondationApache

VersionActuelle :Solr 6.0.1(Mai2016)

Page 18: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

ElasticSearch ?Basé sur Lucene

Moteur derecherche fulltextorienté analyticsscalable

Elasticsearch aété créé parShayBanon en2004

Licence Apache2.0

Versionactuelle :2.3.3(Mai2016)

Page 19: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Moteur derecherche etBigDataScalabilité

Haute disponibilité

Consistance

Simplicité

Elasticité

Page 20: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Moteur de recherche et Big Data – Les shardsSharding :• Un shard est un morceau d’index

• Une recherche distribuée se fait sur tous les shards (donc l’index complet)

• Utile pour gérer un gros index

Shard3

Queries

Shard1 Shard2Aggregatedqueries

Subqueries

Page 21: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Moteur de recherche et Big Data : Leaders/Replicas

Leaders et replicas pour la réplication:• Pas de « maître/esclave » mais des « leaders/replicas » (un replica peut devenir un

leader)

• Un leader et ses replicas contiennent le même shard

• Utile pour gérer une grosse charge de requêtes et pour la haute disponibilité

Leader Shard 1

Replica2 Shard

2

Replica1 Shard 1

Load Balancer

Queries Queries Queries

Page 22: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Moteur de recherche et Big Data Illustration

On veut répartir l’index sur 2 shards

On veut un réplica par shard

D’où 4 machinesINDEX

Page 23: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

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…

Page 24: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Clusters de serveurs

Page 25: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

C’est l’heure du quizQuelle est la version actuelle de Lucene/Solr ?• A) 2.3.3

• B) 42

• C) 6.0.1

Répondez vite en tweetant sur @TechConfQuiz

Page 26: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Ecosytème - CrawlerRoles :• Connection au système externe

• Crawl des données

• Gère les autorisations• Early Binding• Late Binding

Page 27: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Ecosytème - CrawlerRoles :• Push or pull mode

• Extraction du contenu (Tika)

• Crawling normal ou delta

• Attention à l’impact sur le système crawlé• Throttling

• Scheduling

Page 28: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Ecosytème - CrawlerDifferents Crawlers

• Aperture• File, Web

• Nutch• Web

• DIH• DB, XML

• Beats• LogStash

Framework• Apache Manifold CF

Page 29: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Ecosytème - CrawlerScénario de moteur de recherche fédéré : • 1ère source : crawl de fichiers avec autorisation

• Environnement :• File Share Windows

• Active Directory

• 2e source de données : crawl d’un CMS interne

• Phase de recherche fédérée en respectant les autorisations

Page 30: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Ecosytème - CrawlerScénario de moteur de recherche pour l’indexation de logs: • Parsing de fichiers de logs avec LogStash

• Indexation dans ElasticSearch

• Visualisation avec Kibana

Page 31: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

Use casesSolr• BOX:

• Index de 10 To• 10 Mds docs

• 100 M requêtes / jour• Documents bureautique

ElasticSearch• Verizon

• 500 milliards docs

• Logs

Page 32: Besoin de rien Envie de Search - Presentation Lucene Solr ElasticSearch

CONTACT

N’hésitez pas à nous contacter pour toute demande d’information

Notre site web : www.francelabs.com

Email: [email protected]él: 09 72 43 72 85Fax: 09 72 29 28 14

Adresse: France Labs

CEEI – Nice Premium1 boulevard Maître Maurice Slama

06200 Nice, FranceTwitter : francelabs


Recommended