Geneva jug Lucene Solr

492 vues

Publié le

Geneva JUG 04 novembre 2014
Présentation Lucene Solr
France Labs

Publié dans : Internet
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
492
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
8
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Geneva jug Lucene Solr

  1. 1. Apache SolrGeneva JUG Aurélien MAZOYER Olivier TAVARD 04/11/14
  2. 2. Introduction A propos : Cofondateur de la société France Labs Développeur (principalement Java) Formateur Solr A propos de France Labs: Startup créée en 2011 Partenaire officiel de LucidWorkspour la France
  3. 3. Introduction Domaine: Moteurs de recherche d'entreprise Open Source 2 activités: Consulting/support/formation sur Lucene/Solr/LucidWorks/Datafari 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 Solr4 pensé pour le BigData Utilisé par Twitter, Linkedin, eBay, Salesforce, IBM, Apple
  5. 5. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  6. 6. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  7. 7. La recherche est un oignon!
  8. 8. La recherche est un oignon!
  9. 9. La recherche est un oignon matriciel!
  10. 10. Lucene
  11. 11. Lucene Crééen 2000 par Doug Cutting. Version Actuelle: Lucenev. 4.10.2 (Octobre2014) ProjetOpen Source, Apache depuis2001 Librairiede 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 Field Term Document, fields, terms Document: unité d’indexation Field: partied’un document, contientles données Term: unitéatomiqued’un champ Si on veutindexer un livre, on aura: •Title: Lucenein Action •Author: Erik Hatcher, Otis Gospodnetić •Description: Luceneis a gem in the open-source... •Content: … •…
  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. Lucene Indexation -Architecture Crawler Luceneanalyzer Indexer INDEX
  18. 18. Lucene Requêtage-Architecture QueryParser Luceneanalyzer Index Searcher type:voituresAND prix:[3000 TO 5000] INDEX
  19. 19. Analyzer Index coquilles saint Jacques …. Document Requête coquilles saint jacques Coquilles saint-jacques coquilles saint jacques Coquilles SaintJacques Luceneanalyzer Luceneanalyzer Indexation Requête Match!
  20. 20. Luceneest une simple bibliothèque Besoin d’une couche serveur… Lucene
  21. 21. Solr
  22. 22. Solrpar rapport à Lucene Lucene«embarqué» dans une webapp Créé en 2004 par YonikSeeleyà CENT Networks In 2006, Solrdevient open-source et été cédé à la Apache Software Foundation En 2010, fusion des projets Luceneet Solr Version Actuelle : Solr4.10.2 (Octobre 2014)
  23. 23. Solrpar rapport à Lucene APIs XML/HTTP de type REST Configuration par fichiers XML Mécanisme de Cache, Réplication Interface adminweb
  24. 24. Solrpar 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. © www,oblady,com IntéractionSolr/ Monde extérieur Solr Update Handler SearchHandler Lucene
  26. 26. © www,oblady,com Architecture(Virtual) MachineOSJava Virtual MachineConteneur de servlet (Jetty, Tomcat) Solrfaceting, replication, caching, distributed search, admin, Lucenebest practicesLuceneJavacore search, analysis tools, hit highlighting, spell checking
  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 Gestion 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 SolrCloud Solret son écosystème
  31. 31. Scoring
  32. 32. Récupérerles bonsrésultats… … et seulementceuxlà Precision Pourcentagede docs pertinentssurles docs retournés Matchscorrects/total retourné Recall Pourcentagede docs pertinentsretournéssurle total des docs pertinents Matches corrects/(matchscorrects+matchsmanqués) Trouverun bon compromis… Documents Pertinents Document Retournés Docs retournés et pertinents Recherche pertinente
  33. 33. Scoringen Lucene Formuleparamètrable Combinaisonde Boolean Model (Match) Vector Space Model (Scoring) •TermFrequency •Inverse Document Frequency… Boosts…
  34. 34. TF-IDF Term Frequency (TF) : Fréquence d’un Terme dans un document France Labs BienvenuesurlesitedeFranceLabs. Crééeen2011,FranceLabsestunesociétécomposéed'expertsengestiondel'information.Quecesoitpourdel'expertise,pournosproduitsoupournossolutionsmétiers,nousfaisonsensortequevousaugmentiezvotreefficacitéparunemeilleureexploitationdevosdonnées. FranceLabs,spécialistedesoutilsderechercheopensource,proposedespluginsinnovantsetdesservicesdeconseil,intégrationetmaintenance,surLucene,SolretConstellio.Europe,noussommeslepartenairedeConstellio,solutioncomplètederecherche.
  35. 35. TF-IDF Inverse Document Frequency (IDF): Rareté du terme dans l’ensemble de l’index Expertise Lucene Souhaitantintervenirplusenamontdanslaviedel’entreprise,pourvousproposertoujoursplusdeconseilsàpartirdenosexpertises,Expertise& ConseilacrééFormation&Conseil: unestructuredeformationdestinéeauxacteursdeperformancedel’entreprise. ApacheLucene,lafameusetechnologiepourl’indexation,larechercheetl’analysedutexteestlabasedeplusieursserveursOpenSource.LaprésentationdétailleraSolretElasticSearchsouslaforme« ToolsinAction»-démonstrationsendirectdesdifférentsoutils.
  36. 36. TF-IDF Norms : Taille des champs Solr Titre:Lesmoteursderecherche Content: ApacheSolrestunelibrairiederecherchefulltextenopensource. ElleproposedesAPIREST,desmécanismesdecache,réplicationetmiseàl’échelle. Titre:Encyclopédie Content: Solrestunemoteurderechercheopensource.ElasticSearchestunmoteurderechercheopensource(maisquandmêmeunpeumoinsbien) …. …. ….Lechatestuneanimaldecompagnieavecdesoreilles.
  37. 37. Boosts: Privilégierun doc en particulier… Privilégierun champ par rapport à un autre… Privilégierles phrases exactes… Privilégierles docs qui matchentunerequête… Privilégierles docs par rapport au résultatd’unefonction… Privilégierles docs géolocaliséles plus proches…. Boosts
  38. 38. Boosts Boosts: Boostsur le Titre Fonctionnalités Titre:Fonctionnalités Content: Interfaced'administrationenHTML, Réplication,Miseencache Recherchedistribuée,Rechercheàfacettes,Recherchegéospatiale,APIHTTP/XML,JSONetbibliothèquespourleslangagesdescriptPythonetRuby,Intégrationdesbasesdedonnées Titre:Highlighter Content: Cettefonctionnalitépermetdemettreensurbrillancelestermesrecherchés. Ceprincipeestlemêmequelespages"encache"deGoogleoùlestermesrecherchésapparaissentsurlignésenjaune. C'estunefonctionnalitépuissanteetpratique.
  39. 39. Scoringen Lucene
  40. 40. Des questions???
  41. 41. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  42. 42. Le crawlingde documents n’est PAS le job de Solr Mais il existe de nombreux outils pour cela : DIH Nutch Aperture Manifold CF Google Connectors Crawling
  43. 43. Préparer les documents Convertir en XML, JSON, CSV (ou document riche avec Tika) Peut contenir plusieurs Docs Indexation
  44. 44. Poster les documents par HTTP Avec cURL(linux) •Ex : curlhttp://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
  45. 45. Avec des clients spécifiques: SolrJ •Client le plus évolué SolrNet rsolr SolPython SolPerl Solarium scalikesolr … Clients
  46. 46. Documents visibles une fois commités Possibilité d’utiliser le «soft-commit» Pour avoir du NRT Latence d’indexation
  47. 47. 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
  48. 48. Schema Déclaration des champs fixes: Ou dynamiques:
  49. 49. Schema Et des types de champs: Entier Date String •Un seul morceau Text •Textdécoupé et normalisé •Avec un analyzerspécifique
  50. 50. Analyzer Coquilles SaintJacques WordDelimiter Coquilles Saint Jacques Document Analysis coquilles saint jacques LowerCaseFilter WhitespaceTokenizer Coquilles SaintJacques Coquilles saint-jacques WordDelimiter Coquilles saint jacques QueryAnalysis coquilles saint jacques LowerCaseFilter WhitespaceTokenizer Coquilles saint-jacques
  51. 51. Schema: Analyzer
  52. 52. Analyzers Beaucoup d’analyzersprédéfinis Spécifiquesau langage Maismodulables: beaucoup de composantsdisponibles: Ajoutde synonymes Stemming •manger, mangera=> mang Phonétique …
  53. 53. Des questions???
  54. 54. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  55. 55. Première requête URL : http://localhost:8983/solr/collection1/select... HTTP GET request Web browser Curl SolrJ …
  56. 56. 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ù Solrest installé /collection1: Collection (ou index) de Solr select: requesthandler Après le ?=> paramètres non ordonnés
  57. 57. Exemple de retour
  58. 58. Type de requêtes Type But Exemple TermQuery Simple terme Peutêtrespécifiqueà un champ Tarte Type:Dessert PhraseQuery Match de plusieurstermesdansl’ordre «tarte aux pommes" RangeQuery Fourchette [A TO Z] {A TO Z} WildcardQuery Lettres manquantes j*v? f??bar PrefixQuery Tousles termesqui commencentpar X. cheese* FuzzyQuery Distancede Levenshtein manger~ BooleanQuery Agrégationde plusieursqueries manger ANDcheese* -cheesecake
  59. 59. Requêtage L’utilisateur peut donc faire des requêtes complexes :
  60. 60. Requêtage Mais fera plutôt des requêtes de ce type: A nous de faire avec… 
  61. 61. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  62. 62. Spellchecker
  63. 63. Autocomplete
  64. 64. Facettes Facettes
  65. 65. Géolocalisation
  66. 66. Autres fonctionnalités More Like This Obtenirdes documents similairesà un document Similaritétextuelle Highlighting
  67. 67. Fonctionnalité Joining Possibilitéde faire unejointure surplusieursindexes (cléprimaire-> clésecondaire) Maisà éviter Préférerla dénormalisation
  68. 68. Aplatir les données Dénormalisation
  69. 69. Données redondantes Recherche rapide sur un seul index (pas de join)
  70. 70. Et les vôtres… Solresttrèsorientéplugin Possibilitéde surchargerquasimenttout…
  71. 71. 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
  72. 72. Exemple: Solrconfig.xml permet le paramètrage: RequestHandler Composants associés (autocomplete, highlighting) Caches, Fréquences de commitsetc… Bref, presque tout le reste…
  73. 73. Des questions???
  74. 74. Demo Démo !
  75. 75. Présentation de Solr Architecture SOLR Scoring Indexation Requêtage Fonctionnalités SolrCloud Solret son écosystème
  76. 76. SolrCloud Nouvelle architecture de Solrpour 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
  77. 77. Zookeeper Logiciel de gestion de configurations pour système distribués Contient les configsdes indexsde SolrCloud Les Solrs’enregistrent et se désenregistrentauprès du Zookeeper Statuts des shardsenregistrés
  78. 78. Nouvelles notions Sharding Un Shardest un morceau d’index Une recherche distribuée se fait sur tous les shards(iesur tout l’index) Utile pour gérer une grosse volumétrie de document Shard3 Requêtes Shard1 Shard2 Résultats Aggrégés Sous-Requêtes
  79. 79. Nouvelles notions Leader et Replicapour la réplication On n’a pas de maître/esclave mais des leader/replica •Un replicapeut devenir leader si son leader tombe Le leader et le replicacontiennent le même shard Utile pour répartir la charge/assurer une haute dispo Leader Shard1 Replica2 Shard2 Replica1 Shard1 LoadBalancer Requêtes Requêtes Requêtes
  80. 80. 1 index-2 shards–2 replicas Un exemple! On veut un index, réparti sur 2 shards (ie: coupé en 2) Chaque shardsera répliqué 1 fois Donc 4 machines INDEX
  81. 81. On démarre la première machine, envoie la configuration et spécifie le nombre de shardsvoulus SolrCloud Zookeeper ConfigIndex1 Leader Shard1
  82. 82. On démarre la deuxième machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper SolrCloud Zookeeper Leader Shard2 Leader Shard1
  83. 83. On démarre la 3èmemachine, sans lui spécifier de configuration mais en pointant sur le Zookeeper SolrCloud Zookeeper Leader Shard2 ReplicaShard1 Leader Shard1
  84. 84. ReplicaShard1 On démarre la 4èmemachine, sans lui spécifier de configuration mais en pointant sur le Zookeeper SolrCloud Zookeeper Leader Shard2 ReplicaShard2 Leader Shard1
  85. 85. Indexation Distribution automatique des updates Comment? On envoie les docs à n’importe quelle machine Solrse charge de les transmettre à la bonne machine
  86. 86. Leader 1 Leader 2 Replica1 Replica2 SolrCloud Indexer
  87. 87. Recherche Distribution des recherches automatiques Hors SolrJ: On registre les shardsdans le loadbalancer Avec SolrJ: On utilise un objet CloudSolrServer •Pointé sur Zookeeper •Gère le loadbalancing
  88. 88. Leader 1 Leader 2 Replica1 Replica2 SolrCloud Search Search
  89. 89. Avantages Architecture très flexible En cas d’augmentation de charge •Ajout de machines qui pointent sur Zookeeper •Si pas de client intelligent -Enregistrement des machines dans le LoadBalancer En cas de diminution de charge •Eteindre des machines Zookeeper Gestion centralisée des configurations Visualisation du statut des shards
  90. 90. Avantages Réplication Automatique et fiable Support du NRT Distribution automatique des MAJs Distribution automatique des recherches
  91. 91. Des questions???
  92. 92. Demo Démo !
  93. 93. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Hadoop
  94. 94. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Hadoop
  95. 95. Solrne crawle PAS les données Besoin d’un crawler pour : Connectionau système externe à crawler Récupération des données Gestions des autorisations Role
  96. 96. Mode Push ou Pull Crawlingnormal 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 Role
  97. 97. 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 Extraction de contenu
  98. 98. Les crawlers DifferentsCrawlers Nutch •Crawler web distribué DIH •Contribde Solr •Crawl DB, XML Aperture •File, Web Et Framework Google Enterprise Connector Manifold CF
  99. 99. Manifold CF Basé sur «ConnectorFramework» développé par Karl Wright pour la MetaCartaAppliance Donné à l’Apache Software Foundationen 2009 (première version 2011) Mai 2012 : sortie d’incubation Version actuelle 1.7.1 (Septembre 2014)
  100. 100. Manifold CF Crawlingincrémental Gère les autorisations Configuration par UI et API Créé pour Solr Architecture en mode plugin
  101. 101. Differentsconnecteurs pour : Content Repositories: •SharePoint •Windows Share •CMIS (Alfresco) •DB •RSS •Wiki Authorities: •AD •LDAP Output repositories: •Solr •ElasticSearch Manifold CF
  102. 102. 2 composants principaux: Pull agent: •Contient les connecteurs (repositoryet output connectors) •Récupère les données à partir des différents repositories •Et les push avec leurs ACLsaux output connectors Manifold CF Pull Agent
  103. 103. 2 composants principaux: Authorityservice: •Contient les authorityconnectors •Liste de tous les tokenspour l’utilisateur courant Manifold CF
  104. 104. Intégration avec Solr Exemple : crawl de fichiers avec autorisation •Environnement : -File ShareWindows -Active Directory •Indexer les fichiers et respecter les droits à la requête Manifold CF
  105. 105. Configuration côté Manifold CF Configuration du connecteur Samba Configuration du connecteur AD Configuration du connecteur Solr Manifold CF
  106. 106. Modification du schéma Solr Ajout de champs pour indexer les ACLs •AllowFile, DenyFile, AllowDirectory, DenyDirectory… Ajout d’un plugin à Solr(MCF SearchPlugin) pour interroger Manifold CF pour obtenir les infos d’utilisateur Manifold CF
  107. 107. Manifold CF AD Manifold CF pull Agent Connecteur JCIFS Connecteur Solr Docs and accesstokens GetUser accesstoken Repositories Authorities Manifold CF Output Solr MCF SearchPlugin Indexation Manifold CF authorityservice Connecteur AD Windows Share
  108. 108. Manifold CF AD Manifold CF pull Agent Connecteur JCIFS Connecteur Solr Docs and accesstokens GetUser accesstoken Repositories Authorities Manifold CF Output Windows Share Solr MCF SearchPlugin Requête Manifold CF authorityservice Connecteur AD Front End Searchauthentifié Filtre les docs suivant leur ACLset les infos d’utilisateur Résultats autorisés
  109. 109. Des questions???
  110. 110. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Hadoop
  111. 111. 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
  112. 112. AjaxFranceLabs Manager SearchBarWidget ResultWidget FacetWidget
  113. 113. Demo Démo !
  114. 114. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Hadoop
  115. 115. 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 Sémantique
  116. 116. Sémantique UIMA (UnstructuredInformation Management Architecture) Framework Apache Plugin Solr Côté indexation Contient un pipeline d’Annotators •Open Calais •AlchemyAPI •OpenNLP •… Chaque annotatorva rajouter des métadonnées au document
  117. 117. UIMA Ex : OpenNLP Part of speech •Verbe nom… Extraction d’entités •Lieu •Personne
  118. 118. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Analytics Hadoop
  119. 119. LogStashfor Solr+ Solr+ Banana Banana
  120. 120. Présentation de Solr Solret son écosystème Crawlingdes données Exemple de UI Outils sémantiques Hadoop
  121. 121. Hadoop Créé par Doug Cutting Framework open source Inspiré par les papiers sur Google MapReduceet Google File System
  122. 122. Hadoop 1999 2002 2004 2010 2005
  123. 123. Hadoop ScénariosBig Data Text mining Créationet analysede graphes Reconnaissance de patterns Moteursde recommandations, ciblagepublicité Analysede menaces, surveillances de marchés
  124. 124. Hadoop Traiterdes grandsvolumes de donnéesen un minimum de temps Stocker des immenses volumes de données Fonctionne sur machines de configuration faible et peu coûteuses
  125. 125. Hadoop Architecture (très) simplifiée de Hadoop Noeud 1 Noeud 3 Noeud 2 Noeud 4 Couche Traitement (MapReduce) Couche Stockage (HDFS)
  126. 126. Hadoop Couche stockage (HDFS) Système de fichier distribué Utilise les disques «normaux» de chacun des noeuds… …pour donner l’impression de n’utiliser qu’un seul énorme disque Fiable (données répliquées 3 fois)
  127. 127. Hadoop Couche traitement (MapReduce) Hadoopexécute des jobs MapReduce Notre algodoit donc implémenter: •Un mapper •Un reducer Pour être executéde manière distribuée par Hadoopen tant que job
  128. 128. Clé1 : Val1 Clé2 : Val2 Clé3 : Val3 Clé4 : Val4 Hadoop Mapper Prend des données en entrée Et les transforme en paire de clé valeur Mapper
  129. 129. Clé 1 : Val1 Clé 2 : Val2 Clé 1 : Val3 Clé 2 : Val4 Reducer Combine les valeurs ayant la même clé Clé1 : Val5 Clé2 : Val6 Reducer Hadoop
  130. 130. Hadoop Un exemple simple? On a en entrée plusieurs textes On veut compter le nombre d’occurrences des mots De manière distribuée En utilisant un job MapReduce Datafari Datafariest notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le frameworkde connecteurs Apache ManifoldCF. Solr Apache Solrest une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting. Lucene Apache Luceneest un moteur de recherche et d'indexation, en open source.
  131. 131. Apache : 4 Solr: 2 Lucene: 3 … Apache : 1 Apache : 1 Solr: 1 Lucene: 1 … Apache : 1 Solr: 1 Lucene: 1 … Apache : 1 Lucene: 1 … Hadoop Datafari Datafariest notre solution open source de recherche d'entreprises, basée sur Lucene, Solr, et le frameworkde connecteurs Apache ManifoldCF. Solr Apache Solrest une couche web open source basée sur la librairie de recherche Apache Lucene. Elle ajoute des fonctionnalités de serveur web, du faceting. Lucene Apache Luceneest un moteur de recherche et d'indexation, en open source. Reducer Mapper Mapper Mapper
  132. 132. Hadoop Distribution du l’algoen MapReduce Apache : 13 Apache : 44 Apache : 2 Lucene: 10 Open : 19 Solr: 10 Solr: 10 Manifold : 1 Noeud 1 Noeud 3 Noeud 2 Noeud 4
  133. 133. Opération Mapsur les documents sur chacun des noeuds Hadoop Apache : 1 Apache : 1 Apache : 1 Apache : 1 Lucene: 1 Open : 1 Solr: 1 Solr: 1 Solr: 1 Manifold : 1 Source : 1 Source : 1 Noeud 1 Noeud 3 Noeud 2 Noeud 4 Map Map Map Map
  134. 134. Hadoop Echange des données entre les noeud (shuffle) Noeud 1 Noeud 3 Noeud 2 Noeud 4 Apache : 1 Apache : 1 Apache : 1 Apache : 1 Lucene: 1 Open : 1 Solr: 1 Solr: 1 Solr: 1 Manifold : 1 Source : 1 Source : 1
  135. 135. Lucene: 1 Manifold : 1 Open : 1 Opération de Reducesur chacun des noeuds Hadoop Apache : 1 Apache : 1 Apache : 1 Apache : 1 Lucene: 1 Open : 1 Solr: 1 Solr: 1 Solr: 1 Manifold : 1 Source : 1 Source : 1 Apache : 4 Solr: 3 Source : 2 Noeud 4 Reduce Noeud 3 Reduce Noeud 1 Reduce Noeud 2 Reduce
  136. 136. Créé par Doug Cutting Crawler Web Permet de crawler un large volume de données Basé sur Hadoop Nutch
  137. 137. Projet Apache Surcouche d’Hadoop Permet de déployer sur Hadoopdes traitements tel que: Identification de language Extraction de contenu (Tika) Pipeline UIMA Avant l’ingestion dans Solr Behemoth
  138. 138. Possibilité de stocker l’index de Solrsur HDFS Stockage de gros volume de donnée Gestion de la réplication Utilisation d’un cluster Hadoopexistant A venir: Possibilité de créer l’index à l’aide de job MapReduce Augmentation performance d’indexation sur de gros volumes de données Solrdirectement couplé avec Hadoop
  139. 139. Des questions???
  140. 140. Merci!!!
  141. 141. Site web : www.francelabs.com Email : olivier.tavard@francelabs.com Twitter: Francelabs

×