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

3,520 views
3,353 views

Published on

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.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,520
On SlideShare
0
From Embeds
0
Number of Embeds
181
Actions
Shares
0
Downloads
66
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  1. 1. Solr Aurélien MAZOYER Olivier TAVARD
  2. 2. Introduction 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
  3. 3. Introduction 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)
  4. 4. Pourquoi 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
  5. 5. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  6. 6. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  7. 7. La recherche est un oignon!
  8. 8. La recherche est un oignon!
  9. 9. La recherche est un oignon matricielle!
  10. 10. Lucene
  11. 11. Lucene Créé en 2000 par Doug Cutting. Version Actuelle : Lucene v. 4.6 (Novembre 2013) Projet Open Source, Apache depuis 2001 Librairie de recherche “full-text” Rapide, stable, performant, modulable 100% Java (pas de dépendances)
  12. 12. Lucene Un outil qui permet:  De créer un index à partir de documents INDEX
  13. 13. Index
  14. 14. Document, 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 Gospodnetid Description : Lucene is a gem in the open-source... Content : … Term Field … Document
  15. 15. Lucene Un outil qui permet: De créer un index à partir de documents  D’effectuer des recherches dans cet index  INDEX
  16. 16. Lucene 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
  17. 17. Indexation - Architecture Crawler Lucene analyzer Indexer INDEX Lucene
  18. 18. Requêtage - Architecture type:voitures AND prix:[3000 TO 5000] Query Parser Lucene analyzer Index Searcher Lucene INDEX
  19. 19. Analyzer Document Requête Coquilles SaintJacques Coquilles saint-jacques Lucene analyzer coquilles saint Lucene analyzer jacques coquilles Index Indexation saint Requête coquilles saint Jacques …. Match! jacques
  20. 20. Lucene Lucene est une simple bibliothèque Besoin d’une couche serveur…
  21. 21. Solr
  22. 22. Solr par rapport à Lucene Lucene « embarqué » dans une webapp Créé en 2004 par Yonik Seeley à CENT Networks In 2006, Solr devient open-source et été cédé à la Apache Software Foundation En 2010, fusion des projets Lucene et Solr Version Actuelle : Solr 4.6 (Novembre 2013)
  23. 23. Solr par rapport à Lucene APIs XML/HTTP de type REST Configuration par fichiers XML Mécanisme de Cache, Réplication Interface admin web
  24. 24. Solr par rapport à Lucene Interfaces HTTP pour :  ajouter des documents (POST) •  http://localhost:8983/solr/update effectuer des recherches (GET) • http://localhost:8983/solr/select
  25. 25. Intéraction Solr / Monde extérieur Update Handler Search Handler Lucene Solr © www,oblady,com
  26. 26. 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 © www,oblady,com
  27. 27. Surcouche
  28. 28. Surcouche 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 
  29. 29. Des questions???
  30. 30. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  31. 31. Scoring
  32. 32. Scoring en Lucene Formule paramètrable Combinaison de   Boolean Model (Match) Vector Space Model (Scoring) • •  Term Frequency Inverse Document Frequency… Boosts…
  33. 33. TF-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.
  34. 34. TF-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.
  35. 35. TF-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édie Content : 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.
  36. 36. Boosts 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….
  37. 37. Boosts Boosts:  Boost sur le Titre Fonctionnalités Titre : Fonctionnalités Content : Interface d'administration en HTML, Réplication, Mise en cache Recherche 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 : Highlighter Content : 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.
  38. 38. Scoring en Lucene
  39. 39. Des questions???
  40. 40. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  41. 41. Crawling Le crawling de documents n’est PAS le job de Solr Mais il existe de nombreux outils pour cela : DIH  Nutch  Aperture  Manifold CF  Google Connectors 
  42. 42. Indexation Préparer les documents   Convertir en XML, JSON, CSV (ou document riche avec Tika) Peut contenir plusieurs Docs
  43. 43. Indexation 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
  44. 44. Clients Avec des clients spécifiques:  SolrJ •        Client le plus évolué SolrNet rsolr SolPython SolPerl SolPHP scalikesolr …
  45. 45. Latence d’indexation Documents visibles une fois commités Possibilité d’utiliser le « soft-commit » Pour avoir du NRT
  46. 46. Pour 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
  47. 47. Schema Déclaration des champs fixes: Ou dynamiques:
  48. 48. Schema Et des types de champs: Entier  Date  String  •  Un seul morceau Text • • Text découpé et normalisé Avec un analyzer spécifique
  49. 49. Analyzer Document Analysis Query Analysis Coquilles SaintJacques Coquilles saint-jacques WhitespaceTokenizer WhitespaceTokenizer Coquilles SaintJacques Coquilles WordDelimiter Coquilles Saint WordDelimiter Jacques Coquilles LowerCaseFilter coquilles saint saint-jacques saint jacques LowerCaseFilter jacques coquilles saint jacques
  50. 50. Schema : Analyzer
  51. 51. Analyzers 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 …
  52. 52. Des questions???
  53. 53. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  54. 54. Première requête URL :  http://localhost:8983/solr/collection1/select... HTTP GET request     Web browser Curl SolrJ …
  55. 55. Structure 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 
  56. 56. Exemple de retour
  57. 57. Type de requêtes Type But Exemple TermQuery Simple terme Peut être spécifique à un champ Tarte Type: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 AND cheese* -cheesecake
  58. 58. Requêtage L’utilisateur peut donc faire des requêtes complexe:
  59. 59. Requêtage Mais fera plutôt des requêtes de ce type: A nous de faire avec… 
  60. 60. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  61. 61. Spellchecker
  62. 62. Autocomplete
  63. 63. Facettes Facettes
  64. 64. Géolocalisation
  65. 65. Autres fonctionnalités More Like This   Obtenir des documents similaires à un document Similarité textuelle Highlighting
  66. 66. Et les vôtres… Solr est très orienté plugin Possibilité de surcharger quasiment tout…
  67. 67. 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
  68. 68. 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… 
  69. 69. Des questions???
  70. 70. Demo Démo !
  71. 71. Présentation de Solr       Architecture SOLR Scoring Indexation Requêtage Fonctionnalités Solr Cloud Solr et son écosystème
  72. 72. Solr 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
  73. 73. Zookeeper Logiciel de gestion de configurations pour système distribués Contient les configs des indexs de Solr Cloud Les Solr s’enregistrent et se désenregistrent auprès du Zookeeper Statuts des shards enregistrés
  74. 74. Nouvelles 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 Sous-Requêtes Shard1 Requêtes Résultats Aggrégés Shard2 Shard3
  75. 75. Nouvelles 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 Requêtes Replica 2 Shard 2 Replica 1 Shard 1 Requêtes Requêtes Load Balancer
  76. 76. 1 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
  77. 77. Solr Cloud On démarre le première machine, envoie la configuration et spécifie le nombre de shards voulus ConfigIndex1 Leader Shard1 Zookeeper
  78. 78. Solr Cloud On démarre la deuxième machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper Leader Shard1 Zookeeper Leader Shard2
  79. 79. Solr Cloud On démarre la 3ème machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper Leader Shard1 Zookeeper Replica Shard1 Leader Shard2
  80. 80. Solr Cloud On démarre la 4ème machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper Leader Shard1 Leader Shard2 Zookeeper Replica Shard1 Replica Shard2
  81. 81. Indexation Distribution automatique des updates Comment? On envoie les docs à n’importe quelle machine  Solr se charge de les transmettre à la bonne machine
  82. 82. Solr Cloud Indexer Leader 1 Leader 2 Replica 1 Replica 2
  83. 83. Recherche Distribution des recherches automatique Hors SolrJ :  On registre les shards dans le load balancer Avec SolrJ :  On utilise un objet CloudSolrServer • • Pointé sur Zookeeper Gère le load balancing
  84. 84. Solr Cloud Search Search Leader 1 Leader 2 Replica 1 Replica 2
  85. 85. Avantages 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
  86. 86. Avantages Réplication  Automatique et fiable Support du NRT Distribution automatique des MAJs Distribution automatique des recherches
  87. 87. Des questions???
  88. 88. Demo Démo !
  89. 89. Présentation de Solr Solr et son écosystème  Crawling des données  Exemple de UI  Outils sémantiques  Hadoop
  90. 90. Présentation de Solr Solr et son écosystème  Crawling des données  Exemple de UI  Outils sémantiques  Hadoop
  91. 91. Role 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
  92. 92. Role Mode Push ou Pull Crawling normal ou incrémental Réglage de l’impact sur le système crawlé   Throttling Scheduling En cas de documents riches (Pdf, Word):  Extraction du contenu
  93. 93. Extraction de contenu Apache Tika Contribution 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
  94. 94. Les crawlers Differents Crawlers  Nutch •  DIH • •  Crawler web distribué Contrib de Solr Crawl DB, XML Aperture • File, Web Et Framework   Google Enterprise Connector Manifold CF
  95. 95. Manifold CF Basé sur « Connector Framework » développé par Karl Wright pour la MetaCarta Appliance Donné à l’Apache Software Foundation en 2009 (première version 2011) Mai 2012 : sortie d’incubation Version actuelle 1.5.1 (Février 2014)
  96. 96. Manifold CF Crawling incrémental Gère les autorisations Configuration par UI et API Créé pour Solr Architecture en mode plugin
  97. 97. Manifold CF Differents connecteurs pour :  Content Repositories : • • • • • •  Authorities: • •  SharePoint Windows Share CMIS (Alfresco) DB RSS Wiki AD LDAP Output repositories : • • Solr Elastic Search
  98. 98. Manifold 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 Pull Agent
  99. 99. Manifold CF 2 composants principaux:  Authority service: • • Contient les authority connectors Liste de tous les tokens pour l’utilisateur courant
  100. 100. Manifold 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
  101. 101. Manifold CF Configuration côté Manifold CF    Configuration du connecteur JCIFS Configuration du connecteur AD Configuration du connecteur Solr
  102. 102. Manifold 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
  103. 103. Manifold CF Repositories Windows Share Connecteur AD Connecteur JCIFS Manifold CF pull Agent Indexation Authorities Manifold CF AD Manifold CF authority service Connecteur Solr Get User access token Docs and access tokens Solr MCF Search Plugin Output
  104. 104. Manifold CF Repositories Windows Share Connecteur JCIFS Manifold CF pull Agent Connecteur Solr Requête Front End Docs and access tokens Search authentifié Résultats autorisés Authorities Manifold CF Connecteur AD AD Manifold CF authority service Get User access token MCF Filtre les docs suivant leur ACLsSearch infos et les Solr Plugin d’utilisateur Output
  105. 105. Des questions???
  106. 106. Présentation de Solr Solr et son écosystème  Crawling des données  Exemple de UI  Outils sémantiques  Hadoop
  107. 107. AjaxFranceLabs Inspiré de AjaxSolr Client Javascript/Ajax Fournit plusieurs composants:  Un Manager •  Gère la connexion avec le serveur Et des widgets • Composant graphique et logique
  108. 108. AjaxFranceLabs SearchBarWidget Manager FacetWidget ResultWidget
  109. 109. Demo Démo !
  110. 110. Présentation de Solr Solr et son écosystème  Crawling des données  Exemple de UI  Outils sémantiques  Hadoop
  111. 111. Sémantique Le sémantique n‘est pas le travail de Solr Fait seulement de la recherche full-text (mais le fait bien ) Solr  Il existe des plugins pour cela • • • UIMA GATE OpenNLP
  112. 112. Sé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
  113. 113. UIMA Ex : OpenNLP   Coté indexation ou requêtage Part of speech •  Verbe nom… Extraction d’entités • • Lieu Personne
  114. 114. Natural Langage Processing Solr + OpenNLP + custom code => outils de recherche en langage naturel Voir livre « Taming Text » de Grant Ingersoll
  115. 115. Présentation de Solr Solr et son écosystème  Crawling des données  Exemple de UI  Outils sémantiques  Hadoop
  116. 116. Hadoop Créé par Doug Cutting Framework open source Inspiré par les papiers sur Google Map Reduce et Google File System
  117. 117. Hadoop Traiter des grands volumes de données en un minimum de temps Stocker des immenses volumes de données Fonctionne sur machines de configuration faible et peu coûteuses
  118. 118. Hadoop Architecture (très) simplifiée de Hadoop Nœud 1 Couche Traitement (Map Reduce) Nœud 2 Nœud 3 Couche Stockage (HDFS) Nœud 4
  119. 119. Hadoop 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)
  120. 120. Hadoop 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
  121. 121. Hadoop Mapper   Prend des données en entrée Et les transforme en paire de clé valeur Clé1 : Val1 Clé2 : Val2 Clé3 : Val3 Clé4 : Val4 Mapper
  122. 122. Hadoop Reducer  Combine les valeurs ayant la même clé Clé 1 : Val1 Clé 2 : Val2 Clé 1 : Val3 Clé 2 : Val4 Clé1 : Val5 Clé2 : Val6 Reducer
  123. 123. Hadoop 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 Solr Datafari Apache 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. Datafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF. Lucene Apache Lucene est un moteur de recherche et d'indexation, en open source.
  124. 124. Hadoop Solr Apache 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. Datafari Datafari est notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le framework de connecteurs Apache ManifoldCF. Mapper Mapper Lucene Apache Lucene est un moteur de recherche et d'indexation, en open source. Apache : 1 Apache : 1 Solr : 1 Lucene : 1 … Apache : 1 Solr : 1 Lucene : 1 … Apache : 1 Lucene : 1 … Mapper Apache : 4 Solr : 2 Lucene : 3 … Reducer
  125. 125. Hadoop Distribution du l’algo en Map Reduce Apache : 13 Lucene : 10 Nœud 1 Open : 19 Nœud 2 Solr : 10 Apache : 44 Nœud Solr : 10 3 Apache : 2 Nœud 4 Manifold : 1
  126. 126. Hadoop Opération Map sur les documents sur chacun des noeuds Apache : 1 Lucene : 1 Nœud 1 Map Apache : 1 Open : 1 Nœud 2 Solr : 1 Map Source : 1 Apache : 1 Nœud Solr : 1 3 SolrMap :1 Apache : 1 Nœud 4 Manifold : 1 Map Source : 1
  127. 127. Hadoop Echange des données entre les nœud (shuffle) Apache : 1 Lucene : 1 Nœud 1 Apache : 1 Open : 1 Solr : 1 Source : 1 Apache : 1 Solr : 1 Solr : 1 Apache : 1 Manifold : 1 Nœud 2 Nœud 3 Nœud 4 Source : 1
  128. 128. Hadoop Opération de Reduce sur chacun des noeuds Apache : 1 Apache : 1 Apache : 1 Apache : 1 Nœud 1 Apache : 4 Reduce Lucene : 1 Manifold : 1 Open : 1 Lucene : 1 Nœud 2 Manifold : 1 Reduce Open : 1 Solr : 1 Solr : 1 Solr : 1 Source : 1 Nœud 3 Solr : 3 Reduce Nœud 4 Source : 2 Reduce Source : 1
  129. 129. Nutch Créé par Doug Cutting Crawler Web Permet de crawler un large volume de données Basé sur Hadoop
  130. 130. Behemoth Projet Apache Surcouche d’Hadoop Permet de déployer sur Hadoop des traitements tel que:    Identification de language Extraction de contenu (Tika) Pipeline UIMA
  131. 131. Solr directement couplé avec Hadoop 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
  132. 132. Exemples d’utilisation d’Hadoop Calcul du scoring des docs  Ex: PageRank calculé par le Google Map/Reduce Web Google Map/Reduce (≠ Hadoop Mapreduce) : Calcul PageRank Moteur de recherche (≠ Lucene Solr)
  133. 133. Exemples d’utilisation d’Hadoop Calcul de recommandation  Ex: Linkedin
  134. 134. Exemples d’utilisation d’Hadoop Voldemort (Linkedin filesystem) Hadoop (pour le calcul) 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
  135. 135. Hadoop Voldemort (Linkedin filesystem) Lucene (pour le search) Web Server (pour l’affichage) Données brutes Indexation des utilisateurs Recherche d’utilisateurs Lecture des données utilisateur spécifique
  136. 136. Des questions???
  137. 137. Merci!!!
  138. 138. Site web : www.francelabs.com Email : aurelien.mazoyer@francelabs.com Twitter : Francelabs

×