Solr, c'est simple et Big Data ready - prez au Lyon jug Fév 2014
-
Upload
francelabs -
Category
Technology
-
view
1.700 -
download
0
description
Transcript of Solr, c'est simple et Big Data ready - prez au Lyon jug Fév 2014
Solr
Aurélien MAZOYER
Olivier TAVARD
SolrIntroduction
A propos de moi : Cofondateur de la société France Labs Développeur (principalement Java) Formateur Solr (France Labs, Lucidworks) Enseignant vacataire (Polytech’Nice-Sophia)
A propos de France Labs : Startup créée en 2011 Partenaire officiel de LucidWorks pour la France
SolrIntroduction
Domaine: Moteurs de recherche d'entreprise Open Source
2 activités: Consulting/support/formation sur
Lucene/Solr/Constellio/LucidWorks R&D (algorithmes de ranking, connecteurs, réseaux
sociaux)
SolrPourquoi Lucene/Solr?
Besoins d'entreprise : avoir une bonne solution logicielle, avec un support fiable
Par conséquent notre choix de Lucene/Solr : Large communauté autour de Lucene/Solr Schémas de support professionnel pour Lucene/Solr Solr 4 pensé pour le Big Data Utilisé par Twitter, Linkedin, eBay, Salesforce, IBM, Apple
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
Architecture SolrLa recherche est un oignon!
Architecture SolrLa recherche est un oignon!
Architecture SolrLa recherche est un oignon matricielle!
Architecture SolrLucene
Architecture SolrLucene
Créé en 2000 par Doug Cutting. Version Actuelle : Lucene v. 4.6 (Novembre 2013)Projet Open Source, Apache depuis 2001Librairie de recherche “full-text”Rapide, stable, performant, modulable100% Java (pas de dépendances)
Architecture SolrLucene
Un outil qui permet:
De créer un index à partir de documents
INDEX
Architecture SolrIndex
Document
FieldTerm
Architecture SolrDocument, fields, terms
Document : unité d’indexation Field : partie d’un document, contient les données Term : unité atomique d’un champ Si on veut indexer un livre, on aura:
• Title : Lucene in Action• Author : Erik Hatcher, Otis Gospodnetić • Description : Lucene is a gem in the open-source...• Content : … • …
Architecture SolrLucene
Un outil qui permet:
De créer un index à partir de documents
D’effectuer des recherches dans cet index
INDEX
Architecture SolrLucene
Différence avec une base de données : Optimisé pour récupérer un doc à partir de son
contenu Résultats scorés Non relationnelle, structure non fixe Champs qui peuvent contenir plusieurs valeurs
Lucene
Architecture SolrIndexation - Architecture
CrawlerLucene
analyzer Indexer
INDEX
Lucene
Architecture SolrRequêtage - Architecture
Query Parser
Lucene analyzer
Index Searcher
type:voitures AND prix:[3000 TO 5000]
INDEX
Architecture SolrAnalyzer
Indexcoquilles
saint
Jacques
….
Document Requête
coquilles saint jacques
Coquilles saint-jacques
coquilles saint jacques
Coquilles SaintJacques
Lucene analyzer
Lucene analyzer
Indexation Requête
Match!
Lucene est une simple bibliothèque
Besoin d’une couche serveur…
Architecture SolrLucene
Architecture SolrSolr
Architecture SolrSolr par rapport à Lucene
Lucene « embarqué » dans une webappCréé en 2004 par Yonik Seeley à CENT NetworksIn 2006, Solr devient open-source et été cédé à la Apache Software FoundationEn 2010, fusion des projets Lucene et SolrVersion Actuelle : Solr 4.6 (Novembre 2013)
Architecture SolrSolr par rapport à Lucene
APIs XML/HTTP de type RESTConfiguration par fichiers XMLMécanisme de Cache, RéplicationInterface admin web
Architecture SolrSolr par rapport à Lucene
Interfaces HTTP pour : ajouter des documents (POST)
• http://localhost:8983/solr/update effectuer des recherches (GET)
• http://localhost:8983/solr/select
Architecture Solr
© www,oblady,com
Intéraction Solr / Monde extérieur
Solr
Update Handler Search Handler
Lucene
Architecture Solr
© www,oblady,com
Architecture
(Virtual) Machine
OS
Java Virtual Machine
Conteneur de servlet (Jetty, Tomcat)
Solr faceting, replication, caching, distributed search, admin, Lucene best practices
Lucene Java
core search, analysis tools, hit highlighting, spell checking
Architecture SolrSurcouche
Architecture SolrSurcouche
Besoin (parfois) d’une surcouche: Interface WEB pour le client Crawl des documents sur les différents systèmes Gestions de la sécurité Statistiques
Exemples de solutions « clé en main » : Constellio LucidWorks Datafari
Des questions???
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
ScoringScoring
ScoringScoring en Lucene
Formule paramètrableCombinaison de Boolean Model (Match) Vector Space Model (Scoring)
• Term Frequency• Inverse Document Frequency…
Boosts…
ScoringTF-IDF
Term Frequency (TF) : Fréquence d’un Terme dans un document
France Labs
Bienvenue sur le site de France Labs. Créée en 2011, France Labs est une société composée d'experts en gestion de l'information. Que ce soit pour de l'expertise, pour nos produits ou pour nos solutions métiers, nous faisons en sorte que vous augmentiez votre efficacité par une meilleure exploitation de vos données.
France Labs, spécialiste des outils de recherche open source, propose des plugins innovants et des services de conseil, intégration et maintenance, sur Lucene, Solr et Constellio. Europe, nous sommes le partenaire de Constellio, solution complète de recherche.
ScoringTF-IDF
Inverse Document Frequency (IDF): Rareté du terme dans l’ensemble de l’index
Expertise Lucene
Souhaitant intervenir plus en amont dans la vie de l’entreprise, pour vous proposer toujours plus de conseils à partir de nos expertises, Expertise & Conseil a créé Formation & Conseil : une structure de formation destinée aux acteurs de performance de l’entreprise.
Apache Lucene, la fameuse technologie pour l’indexation, la recherche et l’analyse du texte est la base de plusieurs serveurs Open Source. La présentation détaillera Solr et ElasticSearch sous la forme « Tools in Action » - démonstrations en direct des différents outils.
ScoringTF-IDF
Norms : Taille des champs
Solr
Titre : Les moteurs de recherche Content :Apache Solr est une librairie de recherche full text en open source. Elle propose des API REST, des mécanismes de cache, réplication et mise à l’échelle.
Titre : EncyclopédieContent :Solr est une moteur de recherche open source. Elastic Search est un moteur de recherche open source (mais quand même un peu moins bien)….….…. Le chat est une animal de compagnie avec des oreilles.
Boosts: Privilégier un doc en particulier… Privilégier un champ par rapport à un autre… Privilégier les phrases exactes… Privilégier les docs qui matchent une requête… Privilégier les docs par rapport au résultat d’une fonction … Privilégier les docs géolocalisé les plus proches….
ScoringBoosts
ScoringBoosts
Boosts: Boost sur le Titre
FonctionnalitésTitre : FonctionnalitésContent :Interface d'administration en HTML, Réplication, Mise en cacheRecherche distribuée, Recherche à facettes, Recherche géospatiale ,API HTTP/XML, JSON et bibliothèques pour les langages de script Python et Ruby, Intégration des bases de données
Titre : HighlighterContent :Cette fonctionnalité permet de mettre en surbrillance les termes recherchés. Ce principe est le même que les pages "en cache" de Google où les termes recherchés apparaissent surlignés en jaune.C'est une fonctionnalité puissante et pratique.
ScoringScoring en Lucene
Des questions???
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
Indexer des documents
Le crawling de documents n’est PAS le job de SolrMais il existe de nombreux outils pour cela : DIH Nutch Aperture Manifold CF Google Connectors
Crawling
Indexer des documents
Préparer les documents Convertir en XML, JSON, CSV (ou document riche avec Tika) Peut contenir plusieurs Docs
Indexation
Indexer des documents
Poster les documents par HTTP Avec cURL (linux)
• Ex : curl http://localhost:8983/solr/collection1/update -H "Content-type:text/xml" --data-binary @mem.xml
Post.jar et Post.sh• Ex : java -jar post.jar *.xml
Indexation
Indexer des documents
Avec des clients spécifiques: SolrJ
• Client le plus évolué SolrNet rsolr SolPython SolPerl SolPHP scalikesolr …
Clients
Indexer des documents
Documents visibles une fois commitésPossibilité d’utiliser le « soft-commit »Pour avoir du NRT
Latence d’indexation
Indexer des documentsPour la configuration de Solr
Pour la configuration de Solr(Presque) tout se passe dans 2 fichiers: Schema.xml
• Décrit les données à indexer SolrConfig.xml
• Comportement interne du serveur et interactions avec le monde extérieur
Ou dynamiques:
Indexer des documentsSchema
Déclaration des champs fixes:
Ou dynamiques:
Indexer des documentsSchema
Et des types de champs: Entier Date String
• Un seul morceau Text
• Text découpé et normalisé• Avec un analyzer spécifique
Indexer des documentsAnalyzer
Coquilles SaintJacques
WordDelimiter
Coquilles Saint Jacques
Document Analysis
coquilles saint jacques
LowerCaseFilter
WhitespaceTokenizer
Coquilles SaintJacques
Coquilles saint-jacques
WordDelimiter
Coquilles saint jacques
Query Analysis
coquilles saint jacques
LowerCaseFilter
WhitespaceTokenizer
Coquilles saint-jacques
Indexer des documentsSchema : Analyzer
Indexer des documentsAnalyzers
Beaucoup d’analyzers prédéfinis Spécifiques au langage
Mais modulables : beaucoup de composants disponibles : Ajout de synonymes Stemming
• manger, mangera => mang Phonétique …
Des questions???
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
RequêtagePremière requête
URL : http://localhost:8983/solr/collection1/select...
HTTP GET request Web browser Curl SolrJ …
RequêtageStructure de la requête
http://localhost:8983/solr/collection1/select?q=*:*&start=0&rows=10&fl=description
/solr/ : contexte de l’application web où Solr est installé /collection1: Collection (ou index) de Solr select : request handler Après le ? => paramètres non ordonnés
RequêtageExemple de retour
RequêtageType de requêtes
Type But Exemple
TermQuerySimple termePeut être spécifique à un champ
TarteType:Dessert
PhraseQuery Match de plusieurs termes dans l’ordre « tarte aux pommes"
RangeQuery Fourchette [A TO Z]{A TO Z}
WildcardQuery Lettres manquantes j*v?f??bar
PrefixQuery Tous les termes qui commencent par X. cheese*
FuzzyQuery Distance de Levenshtein manger~
BooleanQuery Agrégation de plusieurs queries
manger ANDcheese* -cheesecake
RequêtageRequêtage
L’utilisateur peut donc faire des requêtes complexe:
RequêtageRequêtage
Mais fera plutôt des requêtes de ce type:
A nous de faire avec…
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
FonctionnalitésSpellchecker
FonctionnalitésAutocomplete
FonctionnalitésFacettes
Facettes
FonctionnalitésGéolocalisation
FonctionnalitéAutres fonctionnalités
More Like This Obtenir des documents similaires à un
document Similarité textuelle
Highlighting
FonctionnalitéEt les vôtres…
Solr est très orienté plugin
Possibilité de surcharger quasiment tout…
FonctionnalitéConfiguration de Solr
Pour la configuration de Solr(Presque) tout se passe dans 2 fichiers: Schema.xml
• Décrit les données à indexer SolrConfig.xml
• Comportement interne du serveur et interaction avec le monde extérieur
Ou dynamiques:
FonctionnalitéExemple:
Solrconfig.xml permet le paramètrage : Request Handler Composants associés (autocomplete, highlighting) Caches, Fréquences de commits etc… Bref, presque tout le reste…
Des questions???
SolrDemo
Démo !
Plan
Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud
Solr et son écosystème
Solr CloudSolr Cloud
Nouvelle architecture de Solr pour gérer la scalabilitéNouveau système de mise à l’échelle de Solr Pack 2 en 1
• Distribution- Volumétrie élevée
• Réplication- Répartition de la charge- Haute dispo
Architecture flexible
Solr CloudZookeeper
Logiciel de gestion de configurations pour système distribuésContient les configs des indexs de Solr CloudLes Solr s’enregistrent et se désenregistrent auprès du ZookeeperStatuts des shards enregistrés
Solr CloudNouvelles notions
Sharding Un Shard est un morceau d’index Une recherche distribuée se fait sur tous les shards (ie sur
tout l’index) Utile pour gérer une grosse volumétrie de document
Shard3
Requêtes
Shard1 Shard2
RésultatsAggrégés
Sous-Requêtes
Solr CloudNouvelles notions
Leader et Replica pour la réplication On n’a pas de maître/esclave mais des leader/replica
• Un replica peut devenir leader si son leader tombe Le leader et le replica contienne le même shard Utile pour répartir la charge/assurer une haute dispo
Leader Shard 1
Replica 2 Shard 2
Replica 1 Shard 1
Load Balancer
Requêtes Requêtes Requêtes
Solr Cloud1 index- 2 shards – 2 replicas
Un exemple!
On veut un index, réparti sur 2 shards (ie : coupé en 2)
Chaque shard sera répliqué 1 fois
Donc 4 machines
INDEX
On démarre le première machine, envoie la configuration et spécifie le nombre de shards voulus
SolrSolr Cloud
Zookeeper
ConfigIndex1
Leader Shard1
On démarre la deuxième machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper
SolrSolr Cloud
ZookeeperLeader Shard2Leader Shard1
On démarre la 3ème machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper
SolrSolr Cloud
ZookeeperLeader Shard2
Replica Shard1
Leader Shard1
Replica Shard1
On démarre la 4ème machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper
SolrSolr Cloud
ZookeeperLeader Shard2
Replica Shard2
Leader Shard1
Solr CloudIndexation
Distribution automatique des updatesComment?On envoie les docs à n’importe quelle machine Solr se charge de les transmettre à la bonne machine
Leader 1 Leader 2
Replica 1 Replica 2
SolrSolr Cloud
Indexer
Solr CloudRecherche
Distribution des recherches automatiqueHors SolrJ : On registre les shards dans le load balancer
Avec SolrJ : On utilise un objet CloudSolrServer
• Pointé sur Zookeeper• Gère le load balancing
Leader 1 Leader 2
Replica 1 Replica 2
SolrSolr Cloud
Search Search
Solr CloudAvantages
Architecture très flexible En cas d’augmentation de charge
• Ajout de machines qui pointent sur Zookeeper• Enregistrement des machines dans le Load Balancer
En cas de diminution de charge• Eteindre des machines
Zookeeper Gestion centralisée des configurations Visualisation du statut des shards
Solr CloudAvantages
Réplication Automatique et fiable
Support du NRTDistribution automatique des MAJsDistribution automatique des recherches
Des questions???
Solr CloudDemo
Démo !
Ecosystème
Plan
Présentation de SolrSolr et son écosystème Crawling des données Exemple de UI Outils sémantiques Hadoop
Plan
Présentation de SolrSolr et son écosystème Crawling des données Exemple de UI Outils sémantiques Hadoop
Solr ne crawle PAS les données Besoin d’un crawler pour : Connection au système externe à crawler Récupération des données Gestions des autorisations
Ecosystème - CrawlerRole
Mode Push ou PullCrawling normal ou incrémentalRéglage de l’impact sur le système crawlé Throttling Scheduling
En cas de documents riches (Pdf, Word): Extraction du contenu
Ecosystème - CrawlerRole
Apache TikaContribution de Solr Détection du Mime-type Embarque des librairies pour:
• Lire le contenu• Extraire les meta-données
Extension supportés:• XHTML• MS Office (OLE2 and OOXML)• OpenDocument• PDF• RTF• Zip• Audio/Video/Image files
Ecosystème - CrawlerExtraction de contenu
Ecosystème - CrawlerLes crawlers
Differents Crawlers Nutch
• Crawler web distribué DIH
• Contrib de Solr• Crawl DB, XML
Aperture• File, Web
Et Framework Google Enterprise Connector Manifold CF
Ecosystème - CrawlerManifold CF
Basé sur « Connector Framework » développé par Karl Wright pour la MetaCarta ApplianceDonné à l’Apache Software Foundation en 2009 (première version 2011)Mai 2012 : sortie d’incubationVersion actuelle 1.5.1 (Février 2014)
Ecosystème - CrawlerManifold CF
Crawling incrémentalGère les autorisationsConfiguration par UI et APICréé pour SolrArchitecture en mode plugin
Differents connecteurs pour : Content Repositories :
• SharePoint• Windows Share• CMIS (Alfresco)• DB• RSS• Wiki
Authorities:• AD• LDAP
Output repositories :• Solr• Elastic Search
Ecosystème - CrawlerManifold CF
2 composants principaux: Pull agent:
• Contient les connecteurs (repository et output connectors)• Récupère les données à partir des différents repositories• Et les push avec leurs ACLs aux output connectors
Ecosystème - CrawlerManifold CF
Pull Agent
2 composants principaux: Authority service:
• Contient les authority connectors• Liste de tous les tokens pour l’utilisateur courant
Ecosystème - CrawlerManifold CF
Intégration avec Solr Exemple : crawl de fichiers avec autorisation
• Environnement :- File Share Windows- Active Directory
• Indexer les fichiers et respecter les droits à la requête
Ecosystème - CrawlerManifold CF
Configuration côté Manifold CF Configuration du connecteur JCIFS Configuration du connecteur AD Configuration du connecteur Solr
Ecosystème - CrawlerManifold CF
Modification du schéma Solr Ajout de champs pour indexés les ACLs
• AllowFile, DenyFile, AllowDirectory, DenyDirectory… Ajout d’un plugin à Solr (MCF Search Plugin) pour interroger Manifold CF pour
obtenir les infos d’utilisateur
Ecosystème - CrawlerManifold CF
Manifold CF
AD
Manifold CF pull Agent
ConnecteurJCIFS
Connecteur Solr
Docs andaccess tokens
Get User access token
Repositories Authorities
Ecosystème - CrawlerManifold CF
OutputSolr
MCF Search Plugin
Indexation
Manifold CF authority service
Connecteur AD
Windows Share
Manifold CF
AD
Manifold CF pull Agent
ConnecteurJCIFS
Connecteur Solr
Docs andaccess tokens
Get User access token
Repositories Authorities
Ecosystème - CrawlerManifold CF
Output
Windows Share
Solr
MCF Search Plugin
Requête
Manifold CF authority service
Connecteur AD
Front End Search authentifiéFiltre les docs suivant leur ACLs et les infos
d’utilisateurRésultats autorisés
Des questions???
Plan
Présentation de SolrSolr et son écosystème Crawling des données Exemple de UI Outils sémantiques Hadoop
Ecosysteme - UIAjaxFranceLabs
Inspiré de AjaxSolrClient Javascript/AjaxFournit plusieurs composants: Un Manager
• Gère la connexion avec le serveur Et des widgets
• Composant graphique et logique
Ecosysteme - UIAjaxFranceLabs
Manager
SearchBarWidget
ResultWidget
FacetWidget
ManifoldCF + Solr + Ajax FranceLabsDemo
Démo !
Plan
Présentation de SolrSolr et son écosystème Crawling des données Exemple de UI Outils sémantiques Hadoop
Ecosysteme
Le sémantique n‘est pas le travail de SolrFait seulement de la recherche full-text (mais le fait bien )Solr Il existe des plugins pour cela
• UIMA• GATE• OpenNLP
Sémantique
EcosystemeSémantique
UIMA (Unstructured Information Management Architecture) Framework apache Plugin Solr Côté indexation Contient un pipeline d’Annotators
• Open Calais• AlchemyAPI• OpenNLP• …
Chaque annotator va rajouter des métadonnées au document
EcosystemeUIMA
Ex : OpenNLP Coté indexation ou requêtage Part of speech
• Verbe nom… Extraction d’entités
• Lieu• Personne
EcosystemeNatural Langage Processing
Solr + OpenNLP + custom code => outils de recherche en langage naturelVoir livre « Taming Text » de Grant Ingersoll
Plan
Présentation de SolrSolr et son écosystème Crawling des données Exemple de UI Outils sémantiques Hadoop
EcosystemeHadoop
Créé par Doug Cutting Framework open sourceInspiré par les papiers sur Google Map Reduceet Google File System
EcosystemeHadoop
Traiter des grands volumes de données en un minimum de tempsStocker des immenses volumes de donnéesFonctionne sur machines de configuration faible et peu coûteuses
EcosystemeHadoop
Architecture (très) simplifiée de Hadoop
Nœud 1 Nœud 3Nœud 2 Nœud 4Couche Traitement (Map Reduce)
Couche Stockage (HDFS)
EcosystemeHadoop
Couche stockage (HDFS) Système de fichier distribué Utilise les disques « normaux » de chacun
des nœuds… …pour donner l’impression de n’utiliser qu’un seul énorme disque Fiable (données répliquées 3 fois)
EcosystemeHadoop
Couche traitement (Map Reduce) Hadoop exécute des jobs Map Reduce Notre algo doit donc implémenter:
• Un mapper• Un reducer
Pour être executé de manière distribuée par Hadoop en tant que job
Clé1 : Val1Clé2 : Val2Clé3 : Val3Clé4 : Val4
EcosystemeHadoop
Mapper Prend des données en entrée Et les transforme en paire de clé valeur
Mapper
Clé 1 : Val1Clé 2 : Val2Clé 1 : Val3Clé 2 : Val4
Reducer Combine les valeurs ayant la même clé
Clé1 : Val5Clé2 : Val6
Reducer
EcosystemeHadoop
EcosystemeHadoop
Un exemple simple? On a en entrée plusieurs textes On veut compter le nombre d’occurrence
des mots De manière distribuée En utilisant un job Map Reduce
DatafariDatafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF.
SolrApache Solr est une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting.
LuceneApache Lucene est un moteur de recherche et d'indexation, en open source.
Apache : 4Solr : 2Lucene : 3…
Apache : 1Apache : 1Solr : 1Lucene : 1…
Apache : 1Solr : 1Lucene : 1…
Apache : 1Lucene : 1…
EcosystemeHadoop
DatafariDatafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF.
SolrApache Solr est une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting.
LuceneApache Lucene est un moteur de recherche et d'indexation, en open source.
Reducer
Mapper
Mapper
Mapper
EcosystemeHadoop
Distribution du l’algo en Map Reduce
Apache : 13 Apache : 44 Apache : 2Lucene : 10
Open : 19Solr : 10 Solr : 10 Manifold : 1Nœud 1 Nœud 3Nœud 2 Nœud 4
Opération Map sur les documents sur chacun des noeuds
EcosystemeHadoop
Apache : 1Apache : 1
Apache : 1 Apache : 1Lucene : 1
Open : 1Solr : 1 Solr : 1
Solr : 1Manifold : 1
Source : 1Source : 1
Nœud 1 Nœud 3Nœud 2 Nœud 4Map Map Map Map
EcosystemeHadoop
Echange des données entre les nœud (shuffle)
Nœud 1 Nœud 3Nœud 2 Nœud 4
Apache : 1Apache : 1
Apache : 1 Apache : 1Lucene : 1 Open : 1
Solr : 1 Solr : 1Solr : 1
Manifold : 1
Source : 1Source : 1
Lucene : 1Manifold : 1Open : 1
Opération de Reduce sur chacun des noeuds
EcosystemeHadoop
Apache : 1Apache : 1Apache : 1Apache : 1
Lucene : 1
Open : 1
Solr : 1Solr : 1Solr : 1
Manifold : 1
Source : 1
Source : 1
Apache : 4 Solr : 3 Source : 2Nœud 4Reduce
Nœud 3Reduce
Nœud 1Reduce
Nœud 2Reduce
Créé par Doug CuttingCrawler WebPermet de crawler un large volume de donnéesBasé sur Hadoop
EcosystemeNutch
Projet ApacheSurcouche d’HadoopPermet de déployer sur Hadoop des traitements tel que: Identification de language Extraction de contenu (Tika) Pipeline UIMA
EcosystemeBehemoth
Possibilité de stocker l’index de Solr sur HDFS Stockage de gros volume de donnée Gestion de la réplication Utilisation d’un cluster Hadoop existant
A venir: Possibilité de créer l’index à l’aide de job Map Reduce Augmentation performance d’indexation sur de
gros volumes de données
EcosystemeSolr directement couplé avec Hadoop
Calcul du scoring des docs Ex: PageRank calculé par le Google Map/Reduce
EcosystemeExemples d’utilisation d’Hadoop
Web
Google Map/Reduce (≠ Hadoop
Mapreduce) :Calcul PageRank
Moteur de recherche (≠ Lucene Solr)
Calcul de recommandation Ex: Linkedin
EcosystemeExemples d’utilisation d’Hadoop
Ecosysteme
Hadoop (pour le calcul)
Voldemort (Linkedin
filesystem)
Web Server (pour l’affichage)
Données brutes
Calcul distribué des recommandations
Injection des recommandations par utilisateur
Lecture des données utilisateur et leur recommandations
Exemples d’utilisation d’Hadoop
EcosystemeHadoop
Lucene (pour le search)
Voldemort (Linkedin
filesystem)
Web Server (pour l’affichage)
Données brutes
Indexation des utilisateurs
Recherche d’utilisateurs
Lecture des données utilisateur spécifique
Des questions???
Contact
Merci!!!