Solr, c'est simple et Big Data ready - prez au Lyon jug Fév 2014

Post on 21-Jun-2015

1.700 views 0 download

description

Découvrez les outils open source de Search qui ont déjà convaincu de nombreuses entreprises, et qui est proposé par la fondation Apache: Lucene / Solr. Dans la première partie, histoire de savoir de quoi on parle, Aurélien vous présentera les projets Lucene et Solr, leurs composants, leur architecture, leurs features, et on saupoudrera tout ça de scalabilité avec SolrCloud. En deuxième partie, Aurélien vous présentera l'écosystème (ou du moins une partie) qui gravite autour de Lucene /Solr: ManifoldCF qui permet de gérer les connexions aux sources de données (avec démo d'indexation de contenu et recherche en live), Hadoop, car il faut bien parler de Big Data, et parce que Solr devient un des outils de référence pour faire du search sur Hadoop (avec là encore une démo d'interaction Hadoop et Solr). Avec tout ça vous aurez dans vos bagages de quoi gérer des Big projets avec du Big search dedans.

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!!!

Contact

Site web : www.francelabs.com

Email : aurelien.mazoyer@francelabs.com

Twitter : Francelabs