Upload
francelabs
View
382
Download
8
Embed Size (px)
Citation preview
Apache SolrNantes JUG
Aurélien MAZOYER
Olivier TAVARD
16/02/15
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 LucidWorks pour la France
Introduction
Domaine: Moteurs de recherche d'entreprise Open Source
2 activités: Consulting/support/formation sur
Lucene/Solr/ElastiSearch/LucidWorks/Datafari
R&D (algorithmes de ranking, connecteurs, réseaux sociaux)
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
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
La recherche est un oignon!
La recherche est un oignon!
La recherche est un oignon matriciel!
Lucene
Lucene
Créé en 2000 par Doug Cutting. Version Actuelle : Lucene v. 4.10.3 Décembre 2014)
Projet Open Source, Apache depuis 2001
Librairie de recherche “full-text”
Rapide, stable, performant, modulable
100% Java (pas de dépendances)
Lucene
Un outil qui permet:
De créer un index à partir de documents
INDEX
Index
Document
FieldTerm
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 Gospodnetić
• Description : Lucene is a gem in the open-source...
• Content : …
• …
Lucene
Un outil qui permet:
De créer un index à partir de documents
D’effectuer des recherches dans cet index
INDEX
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
Lucene
Indexation - Architecture
CrawlerLucene
analyzerIndexer
INDEX
Lucene
Requêtage - Architecture
QueryParser
Luceneanalyzer
Index Searcher
type:voitures AND prix:[3000 TO 5000]
INDEX
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!
Lucene est une simple bibliothèque
Besoin d’une couche serveur…
Lucene
Solr
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.10.3 (Décembre 2014)
Solr par rapport à Lucene
APIs XML/HTTP de type REST
Configuration par fichiers XML
Mécanisme de Cache, Réplication
Interface admin web
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
© www,oblady,com
Intéraction Solr / Monde extérieur
Solr
Update Handler Search Handler
Lucene
© 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 Javacore search, analysis tools, hit highlighting, spell checking
Surcouche
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
Des questions???
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
Scoring
Récupérer les bons résultats…
… et seulement ceux là
Precision Pourcentage de docs pertinents sur les
docs retournés
Matchs corrects/total retourné
Recall Pourcentage de docs pertinents
retournés sur le total des docs pertinents
Matches corrects/(matchscorrects+matchs manqués)
Trouver un bon compromis…
Documents Pertinents
Document Retournés
Documents Pertinents
Docs retournéset pertinents
Recherche pertinente
Scoring en Lucene
Formule paramètrable
Combinaison de Boolean Model (Match)
Vector Space Model (Scoring)• Term Frequency
• Inverse Document Frequency…
Boosts…
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 unesociété composée d'experts engestion de l'information. Que ce soitpour de l'expertise, pour nos produitsou pour nos solutions métiers, nousfaisons en sorte que vous augmentiezvotre efficacité par une meilleureexploitation de vos données.
France Labs, spécialiste des outilsde recherche open source, proposedes plugins innovants et desservices de conseil, intégration etmaintenance, sur Lucene, Solr etConstellio. Europe, nous sommes lepartenaire de Constellio, solutioncomplète de recherche.
TF-IDF
Inverse Document Frequency (IDF): Rareté du terme dans l’ensemble de l’index
Expertise Lucene
Souhaitant intervenir plus en amontdans la vie de l’entreprise, pour vousproposer toujours plus de conseils àpartir de nos expertises, Expertise &Conseil a créé Formation & Conseil :une structure de formation destinéeaux acteurs de performance del’entreprise.
Apache Lucene, la fameusetechnologie pour l’indexation, larecherche et l’analyse du texte est labase de plusieurs serveurs OpenSource. La présentation détailleraSolr et ElasticSearch sous la forme «Tools in Action » - démonstrationsen direct des différents outils.
TF-IDF
Norms : Taille des champs
Solr
Titre : Les moteurs de rechercheContent :Apache Solr est une librairie derecherche full text en open source.Elle propose des API REST, desmécanismes de cache, réplication etmise à l’échelle.
Titre : EncyclopédieContent :Solr est une moteur de rechercheopen source. Elastic Search est unmoteur de recherche open source(mais quand même un peu moinsbien)….….
…. Le chat est une animal decompagnie 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és les plus proches….
Boosts
Boosts
Boosts: Boost sur le Titre
Fonctionnalités
Titre : FonctionnalitésContent :Interface d'administration en HTML,Réplication, Mise en cacheRecherche distribuée, Recherche àfacettes, Recherche géospatiale ,APIHTTP/XML, JSON et bibliothèquespour les langages de script Python etRuby, Intégration des bases dedonnées
Titre : HighlighterContent :Cette fonctionnalité permet de mettreen surbrillance les termes recherchés.Ce principe est le même que les pages"en cache" de Google où les termesrecherchés apparaissent surlignés en
jaune.C'est une fonctionnalité puissante etpratique.
Scoring en Lucene
Des questions???
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
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
Crawling
Préparer les documents Convertir en XML, JSON, CSV (ou document riche avec Tika)
Peut contenir plusieurs Docs
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
Indexation
Avec des clients spécifiques: SolrJ
• Client le plus évolué
SolrNet
rsolr
SolPython
SolPerl
Solarium
scalikesolr
…
Clients
Documents visibles une fois commités
Possibilité d’utiliser le « soft-commit »
Pour avoir du NRT
Latence d’indexation
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
Schema
Déclaration des champs fixes:
Ou dynamiques:
Schema
Et des types de champs:
Entier
Date
String
• Un seul morceau
Text
• Text découpé et normalisé
• Avec un analyzer spécifique
Analyzer
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
Schema : Analyzer
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
…
Des questions???
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
Première requête
URL : http://localhost:8983/solr/collection1/select...
HTTP GET request Web browser
Curl
SolrJ
…
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
Exemple de retour
Type de requêtes
Type But Exemple
TermQuerySimple termePeut être spécifique à un champ
TarteType:Dessert
PhraseQueryMatch de plusieurstermes dans l’ordre
« tarte aux pommes"
RangeQuery Fourchette[A TO Z]{A TO Z}
WildcardQuery Lettres manquantesj*v?f??bar
PrefixQueryTous les termes qui commencent par X.
cheese*
FuzzyQuery Distance de Levenshtein manger~
BooleanQueryAgrégation de plusieursqueries
manger ANDcheese* -cheesecake
Requêtage
L’utilisateur peut donc faire des requêtes complexes :
Requêtage
Mais fera plutôt des requêtes de ce type:
A nous de faire avec…
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
Spellchecker
Autocomplete
Facettes
Facettes
Géolocalisation
Autres fonctionnalités
More Like This Obtenir des documents similaires à un
document
Similarité textuelle
Highlighting
Fonctionnalité
Joining Possibilité de faire une jointure sur plusieurs
indexes (clé primaire -> clé secondaire)
Mais à éviter
Préférer la dénormalisation
Aplatir les données Dénormalisation
Données redondantes
Recherche rapide sur un seul index (pas de join)
Et les vôtres…
Solr est très orienté plugin
Possibilité de surcharger quasiment tout…
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
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???
Demo
Démo !
Présentation de Solr Architecture SOLR
Scoring
Indexation
Requêtage
Fonctionnalités
Solr Cloud
Solr et son écosystème
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
Zookeeper
Logiciel de gestion de configurations pour système distribués
Contient les configs des indexs de SolrCloud
Les Solr s’enregistrent et se désenregistrentauprès du Zookeeper
Statuts des shards enregistrés
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 documents
Shard3
Requêtes
Shard1 Shard2
RésultatsAggrégés
Sous-Requêtes
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 contiennent 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
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
On démarre la première machine, envoie la configuration et spécifie le nombre de shards voulus
Solr Cloud
Zookeeper
ConfigIndex1
Leader Shard1
On démarre la deuxième machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper
Solr Cloud
Zookeeper
Leader Shard2Leader Shard1
On démarre la 3ème machine, sans lui spécifier de configuration mais en pointant sur le Zookeeper
Solr Cloud
Zookeeper
Leader 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
Solr Cloud
Zookeeper
Leader Shard2
Replica Shard2
Leader Shard1
Indexation
Distribution automatique des updates
Comment?
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
Solr Cloud
Indexer
Recherche
Distribution des recherches automatiques
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
Leader 1 Leader 2
Replica 1 Replica 2
Solr Cloud
Search
Search
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 Load Balancer
En cas de diminution de charge• Eteindre des machines
Zookeeper Gestion centralisée des configurations
Visualisation du statut des shards
Des questions???
Demo
Démo !
Avantages
Réplication Automatique et fiable
Support du NRT
Distribution automatique des MAJs
Distribution automatique des recherches
Solr 5
Sortie imminente
Plus un WAR mais une application
Nouvelles fonctionnalités : IDF distribué
Stats component amélioré
Solr 4 : apport de SolrCloud
Solr 5 : maturité, simplification à l’usage
Présentation de Solr
Solr et son écosystème
Crawling des données
Exemple de UI
Outils sémantiques
Hadoop
Présentation de Solr
Solr 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 : Connexion au système externe à crawler
Récupération des données
Gestions des autorisations
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
Role
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
Les crawlers
Differents Crawlers Nutch
• Crawler web distribué
DIH• Contrib de Solr
• Crawl DB, XML
Aperture• File, Web
Et Framework Google Enterprise Connector
Manifold CF
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.8.1 (Février 2015)
Manifold CF
Crawling incrémental
Gère les autorisations
Configuration par UI et API
Créé pour Solr
Architecture en mode plugin
Differents connecteurs pour : Content Repositories :
• SharePoint• Windows Share• CMIS (Alfresco)• DB• RSS• Wiki
Authorities:• AD• LDAP
Output repositories :• Solr• Elastic Search
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
Manifold CF
Pull Agent
2 composants principaux: Authority service:
• Contient les authority connectors
• Liste de tous les tokens pour l’utilisateur courant
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
Manifold CF
Configuration côté Manifold CF Configuration du connecteur Samba
Configuration du connecteur AD
Configuration du connecteur Solr
Manifold CF
Modification du schéma Solr Ajout de champs pour indexer les ACLs
• AllowFile, DenyFile, AllowDirectory, DenyDirectory…
Ajout d’un plugin à Solr (MCF Search Plugin) pour interroger Manifold CF pour obtenir les infos d’utilisateur
Manifold CF
Manifold CF
AD
Manifold CF pull Agent
ConnecteurJCIFS
Connecteur Solr
Docs andaccess tokens
Get User access token
Repositories Authorities
Manifold CF
OutputSolr
MCF SearchPlugin
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
Manifold CF
Output
Windows Share
Solr
MCF SearchPlugin
Requête
Manifold CF authority
service
Connecteur AD
Front End Search authentifié
Filtre les docs suivant leurs ACLs et les infos
d’utilisateurRésultats autorisés
Des questions???
Présentation de Solr
Solr et son écosystème
Crawling des données
Exemple de UI
Outils sémantiques
Hadoop
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
AjaxFranceLabs
Manager
SearchBarWidget
ResultWidget
FacetWidget
Présentation de Solr
Solr et son écosystème
Crawling des données
Exemple de UI
Outils sémantiques
Hadoop
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
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
UIMA
Ex : OpenNLP Part of speech
• Verbe nom…
Extraction d’entités• Lieu
• Personne
Présentation de Solr
Solr et son écosystème
Crawling des données
Exemple de UI
Outils sémantiques
Analytics
Hadoop
LogStash for Solr + Solr + Banana
Banana
Présentation de Solr
Solr et son écosystème
Crawling des données
Exemple de UI
Outils sémantiques
Hadoop
Hadoop
Créé par Doug Cutting
Framework open source
Inspiré par les papiers sur Google Map Reduceet Google File System
Hadoop
1999
2002
2004
2010
2005
Hadoop
Scénarios Big Data Text mining
Création et analyse de graphes
Reconnaissance de patterns
Moteurs de recommandations, ciblage publicité
Analyse de menaces, surveillances de marchés
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
Hadoop
Architecture (très) simplifiée de Hadoop
Nœud 1 Nœud 3Nœud 2 Nœud 4Couche Traitement (Map Reduce)
Couche Stockage (HDFS)
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)
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
Clé1 : Val1Clé2 : Val2Clé3 : Val3Clé4 : Val4
Hadoop
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
Hadoop
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 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…
Hadoop
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
Hadoop
Distribution du l’algo en Map Reduce
Apache : 13 Apache : 44 Apache : 2Lucene : 10
Open : 19
Solr : 10Solr : 10 Manifold : 1Nœud 1 Nœud 3Nœud 2 Nœud 4
Opération Map sur les documents sur chacun des noeuds
Hadoop
Apache : 1Apache : 1
Apache : 1 Apache : 1Lucene : 1
Open : 1
Solr : 1Solr : 1Solr : 1
Manifold : 1
Source : 1Source : 1
Nœud 1 Nœud 3Nœud 2 Nœud 4
Map Map Map Map
Hadoop
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 : 1Solr : 1Solr : 1
Manifold : 1
Source : 1Source : 1
Lucene : 1Manifold : 1Open : 1
Opération de Reduce sur chacun des noeuds
Hadoop
Apache : 1
Apache : 1
Apache : 1
Apache : 1
Lucene : 1
Open : 1
Solr : 1
Solr : 1Solr : 1
Manifold : 1
Source : 1
Source : 1
Apache : 4 Solr : 3 Source : 2
Nœud 4
Reduce
Nœud 3
Reduce
Nœud 1
Reduce
Nœud 2
Reduce
Créé par Doug Cutting
Crawler Web
Permet de crawler un large volume de données
Basé sur Hadoop
Nutch
Projet Apache
Surcouche d’Hadoop
Permet de déployer sur Hadoop des traitements tel que: Identification de language
Extraction de contenu (Tika)
Pipeline UIMA
Avant l’ingestion dans Solr
Behemoth
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
Solr directement couplé avec Hadoop
Des questions???
Merci!!!