Installation Et Configuration De Nutch

6,976 views
6,846 views

Published on

Installation Et Configuration De Nutch sous ubuntu

Published in: Technology, Education
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,976
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
168
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Installation Et Configuration De Nutch

  1. 1. Annexe 1 Installation et configuration de Nutch-1.0 Cette annexe décrit toutes les étapes d'installation et de configuration du moteur de recherche Nutch-1.0 sur une plateforme GNU/Linux. 1. INTRODUCTION Nutch est un moteur de recherche Open Source complet : ◦ Outil d'Exploration ◦ Outil d'Indexation ◦ Outil de recherche ◦ Interface Graphique ◦ Distribué et répliqué (Hadoop) Depuis le 23 Mars 2009, une nouvelle version de Nutch est disponible, cette version inclue plusieurs nouveautés : ◦ Nouveau FrameWork pour l'Indexation ◦ Nouveau FrameWork pour le scoring (référencement) ◦ Intégration de Apache Solr ◦ Support des dernières versions de ▪ Lucene 2.4 ▪ Hadoop 0.19.1 ▪ Tomcat 6 ▪ JDK6 ▪ etc.
  2. 2. 2. ENVIRONNEMENT • Dernière version de Ubuntu : 9.04 • Dernière version de JDK : 1.6.0_13-b03 • Dernière version de Apache Tomcat : 6.0.18 • Dernière version de Nutch : 1.0 • Dernière version de Slor : 1.3.0 3. PRÉ-REQUIS Pour cette installation de Nutch, nous supposant que Ubuntu est bien installé, et que l'administrateur à tous le droits du compte super-utilisateur. Nous supposons aussi qu'un minimum de connaissance des commandes Shell et de l'environnement Lunix (Ubuntu) est acquis. 4. INSTALLATION ET CONFIGURATION DE JAVA L'un des avantages de Nutch, c'est sa portabilité. En effet, Nutch s'installe sur toute plate- forme supportant la machine virtuelle Java, pour cela, nous allons commencer notre installation de Nutch par l'installation et la configuration de l'environnement Java JKD 1.6 update 13: • Télécharger la dernière version de java JDK 1.6 update 13 à partir du site de Sun : http://java.sun.com/javase/downloads/index.jsp • Sélectionner Java SE Development Kit (JDK), cela vous mène à une page vous permettant de définir votre OS (Linux), puis Télécharger le : jdk-6u13-linux-i586.bin et • Placer le dans /usr/local/ • Dans un terminal tapez: sudo chmod u+x jdk6u13linuxi586.bin ./jdk6u13linuxi586.bin • Définition de JAVA_HOME pour le système: pour cela éditez le fichier bashrc : $sudo gedit /etc/bash.bashrc
  3. 3. • À la fin du fichier, tapez : export JAVA_HOME=/usr/local/jdk1.6.0_13 export PATH=$JAVA_HOME/bin:$PATH • Vérifiez avec : $java version java version "1.6.0_13" Java (TM) SE Runtime Environment (build 1.6.0_13b04) Java HotSpot (TM) Server VM (build 11.2b01, mixed mode) 5. INSTALLATION ET CONFIGURATION DE TOMCAT Bien que Nutch tourne parfaitement en lignes de commande (dans un terminal Shell), il est indispensable de penser à son utilisation via son interface graphique qui tourne sur Tomcat 6, pour cela : • Télécharger la dernière version d'Apache Tomcat 6.0.18 à partir du site de d'Apache : http://tomcat.apache.org/download-60.cgi • Selectionner le .tar.gz du Binary Distributions , cela vous permet de télécharger le fichier : apache- tomcat-6.0.18.tar.gz • Décompressez le et placer le dans /usr/local/ puis pensez à le rénommer en tomcat-6.0.18 pour faciliter son utilisation. • Nous allons ensuite ajouter une administrateur de tomcat, pour cela éditez le fichier : tomcat-users.xml edit /usr/local/tomcat6.0.18/conf/tomcat-users.xml et ajoutez deux rôle, et un utilisateur : <?xml version='1.0' encoding='utf-8'?> <tomca-users> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="admin,manager"/> </tomcat-users> • Si vous voulez, vous pouvez changer le port de Tomcat par défaut c'est le 8080 qui est utilisé), nous allons le changer pour utiliser le 8086, pour cela éditez le fichier /conf/server.xml et modifier son port : <Connector port="8086" protocol="HTTP/1.1" ... • Lancez ensuite tomcat: ./usr/local/tomcat-6.0.18/bin/startup.sh • Vous devez avoir quelque chose comme ça: Using CATALINA_BASE: /usr/local/tomcat6.0.18 Using CATALINA_HOME: /usr/local/tomcat6.0.18 Using CATALINA_TMPDIR: /usr/local/tomcat6.0.18/temp Using JRE_HOME: /home/mbb/jdk1.6.0_13 • Dans un navigateur : http://localhost:8086/ • Et pour la page manager : http://localhost:8086/manager/html/
  4. 4. 6. INSTALLATION ET CONFIGURATION DE NUTCH Nous allons passer ensuite à l'installation de Nutch-1.0, dans cette partie nous allos se limiter à une installation minimale de Nutch, pour cela : • Télécharger la dernière version de Nutch-1.0 sur le site de Apache : (nutch-1.0.tar.gz) http://lucene.apache.org/nutch/index.html • Décompressez la dans votre répertoire /home/user/ ( ~/ ) et créez un dossier urls dans le dossier d'installation de Nutch, puis un fichier urls.txt dans ce dossier : mkdir /usr/lib/nutch/urls touch /usr/lib/nutch/urls.txt • Editez ce fichier et ajoutez les hyperliens. Dans notre cas, on va se limiter à un seul site: http://lucene.apache.org/nutch/ • Éditez le fichier conf/crawl-urlfilter.txt et remplacez MY.DOMAIN.NAME par le nom de domaine que vous voulez crawler. Par exemple vous voulez limiter le crawling au domaine d'apache.org seulement, donc la ligne sera comme suit: +^http://([a-z0-9]*.)*apache.org/ • Éditez le fichier conf/nutch-site.xml et ajoutez ces proprietés: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>http.agent.name</name> <value></value> <description>HTTP 'User-Agent' request header. MUST NOT be empty - please set this to a single word uniquely related to your organization. NOTE: You should also check other related properties: http.robots.agents http.agent.description http.agent.url http.agent.email http.agent.version and set their values appropriately. </description> </property> <property> <name>http.agent.description</name> <value></value> <description>Further description of our bot- this text is used in the User-Agent header. It appears in parenthesis after the agent name. </description> </property> <property> <name>http.agent.url</name> <value></value>
  5. 5. <description>A URL to advertise in the User-Agent header. This will appear in parenthesis after the agent name. Custom dictates that this should be a URL of a page explaining the purpose and behavior of this crawler. </description> </property> <property> <name>http.agent.email</name> <value></value> <description>An email address to advertise in the HTTP 'From' reques theader and User-Agent header. A good practice is to mangle this address (e.g. 'info at example dot com') to avoid spamming. </description> </property> </configuration> • Ensuite, éditez le fichier /conf/nutch-default.xml et cherchez ces paramètres en les attribuant ces valeurs suivantes: Paramètres Valeurs attribuées http.agent.name <name>http.agent.name</name> <value>NUTCHCRAWLER</value> http.content.limit <name>http.content.limit</name> <value>-1</value> indexer.max.tokens <name>indexer.max.tokens</name> <value>2147483647</value> plugin.includes <name>plugin.includes</name> <value>protocol-http|urlfilter-regex|parse-(text|html|js|pdf| msword|mspowerpoint|msexcel)|index-basic|query-(basic| site|url)|summary-basic| scoring-opic|analysis-(fr)</value> searcher.dir <name>searcher.dir</name> <value>/home/mbb/nutch-1.0/crawldir/</value> • Lancement de Nutch : ./bin/nutch crawl urls -dir crawldir -threads 10 -depth 3 -topN 50 Avec : ◦ urls nom du répertoire contenant les fichiers des hyperliens. ◦ -dir crawldir nom du répertoire créé pur mettre les fichiers téléchargés dedans. ◦ -threads 10 détermine le nombre de processus qui vont faire le crawling simultanément. ◦ -depth 3 détermine la profondeur du crawling. ◦ -topN 50 détermine le nombre de pages maximum à crawler. • Recherche dans un terminal : mbb@mbb-laptop:~/nutch1.0$ bin/nutch org.apache.nutch.searcher.NutchBean nutch Total hits: 25 0 20090406235738/http://lucene.apache.org/nutch/
  6. 6. ... is available here . June 2005: Nutch graduates from Incubator Nutch has now graduated from the ... of Lucene. January 2005: ... 1 20090406235751/http://wiki.apache.org/nutch/ ... wrote Lucene and Nutch. Stefan's Nutch Documentation Frutch Wiki French Nutch ... to come). Larger / better quality Nutch ... 2 20090406235843/http://www.apache.org/dyn/closer.cgi/ lucene/nutch/ ... osuosl.org/pub/apache/lucene/nutch/ ftp://www.ibiblio.org/pub ... net/pub/apache.org/lucene/ nutch/ ftp://apache.cs.utah.edu • Interface Graphique de Nutch : 1- Déploiement de l'interface de Nutch dans Tomcat: ▪ Dans http://localhost:8086/manager/html/ allez à la section « WAR file to deploy » et charger le fichier ~/nutch-1.0/nutch-1.0.war ▪ L'application sera ajoutée dans la section « Applications » 2- Allez ensuite à /usr/local/tomcat-6.0.18/webapps/nutch-1.0/WEB-INF/classes et remplacez ces trois fichiers par ceux du répertoire ~/nutch-1.0/conf ◦ crawl-urlfilter.txt ◦ nutch-site.xml ◦ nutch-default.xml 3- Rechargez ensuite l'application dans l'interface manager de Tomcat. 4- Et voilà, il ne vous reste plus qu'allez à la page : http://localhost:8086/nutch-1.0/fr/ et lancer vos recherches à partir de l'interface graphique. 7. INTEGRATION DE SOLR AVEC NUTCH Depuis la dernière version de Nutch-1.0, l'une des nouvelles fonctionnalités la plus remarquable, c'est l'intégration de Solr avec Nutch. Dans ce cas, Solr sera utilisé comme un outil de recherche seulement, alors que Nutch sera utilisé où il excelle: l'exploration et l'extraction du contenu. L'utilisation de Solr nous permet de bénéficier de ces atouts dans la phase de recherche, par exemple, la vérification orthographique, les statistiques faites sur les requêtes, l'utilisation du cache, les mises à jour, ainsi que son interface graphique d'administration, alors que Nutch, lui il nous permet de bénéficier d'un ensemble complet de fonctionnalités telles que l'intelligence des robots de crawling, la robustesse et l'évolutivité (Nutch fonctionne sur Hadoop, de sorte que vous pouvez exécuter Nutch sur une seule machine ou sur un cluster de 100 machines). Nous essayons dans cette partie de décrire les étapes d'installation et d'intégration de Solr avec Nutch: • Commencez par télécharger la dernière version de Solr sur cette page (version Linux 23bits) : http://www.lucidimagination.com/Downloads et extractez le dans votre dossier Home. • De même, téléchargez la dernière version de Nutch à partir de ce site http://lucene.apache.org/nutch/index.html et extractez la dans votre dossier Home aussi.
  7. 7. • Copier le fichier schema.xml de apache-nutch-1.0/conf dans apache-solr-1.3.0/example/solr/ conf (remplacez le fichier existant). Ensuite cherchez l'attribut « content » et mettez le à true <field name=”content” type=”text” stored=”true” indexed=”true”/> • Ouvrez le fichier le fichier de configuration de Solr apache-solr- 1.3.0/example/solr/conf/solrconfig.xml et ajoutez cette configuration: <requestHandler name="/nutch" class="solr.SearchHandler" > <lst name="defaults"> <str name="defType">dismax</str> <str name="echoParams">explicit</str> <float name="tie">0.01</float> <str name="qf">content^0.5 anchor^1.0 title^1.2</str> <str name="pf">content^0.5 anchor^1.5 title^1.2 site^1.5</str> <str name="fl">url</str> <str name="mm">2&lt;-1 5&lt;-2 6&lt;90%</str> <int name="ps">100</int> <bool hl="true"/> <str name="q.alt">*:*</str> <str name="hl.fl">title url content</str> <str name="f.title.hl.fragsize">0</str> <str name="f.title.hl.alternateField">title</str> <str name="f.url.hl.fragsize">0</str> <str name="f.url.hl.alternateField">url</str> <str name="f.content.hl.fragmenter">regex</str> </lst> </requestHandler> • Lancez ensuite Solr avec: cd apache-solr-1.3.0/example java -jar start.jar • Ensuite nous passons à la configuration de Nutch, pour cela commencez par éditer le fichier conf/nutch-site.xml et ajoutez ces propriétés: <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>http.agent.name</name> <value>nutch-solr-integration</value> </property> <property> <name>generate.max.per.host</name> <value>100</value> </property> <property> <name>plugin.includes</name> <value>protocol-http|urlfilter-regex|parse-html|index-(basic|anchor)|query- (basic|site|url)|response-(json|xml)|summary-basic|scoring-opic| urlnormalizer-(pass|regex|basic)</value>
  8. 8. </property> </configuration> • Ensuite, éditez le fichier ~/conf/regex-urlfilter.txt et modifier la configuration existante par: -^(https|telnet|file|ftp|mailto): # skip some suffixes -.(swf|SWF|doc|DOC|mp3|MP3|WMV|wmv|txt|TXT|rtf|RTF|avi|AVI|m3u|M3U|flv|FLV| WAV|wav|mp4|MP4|avi|AVI|rss|RSS|xml|XML|pdf|PDF|js|JS|gif|GIF|jpg|JPG|png|PNG|ico| ICO|css|sit|eps|wmf|zip|ppt|mpg|xls|gz|rpm|tgz|mov|MOV|exe|jpeg|JPEG|bmp|BMP)$ # skip URLs containing certain characters as probable queries, etc. -[?*!@=] # allow urls in foofactory.fi domain +^http://([a-z0-9]*.)*apache.org/ # deny anything else -. • Créez ensuite un dossier urls dans le dossier d'installation de Nutch, puis un fichier urls.txt dans ce dossier pour y mettre les Hyperliens: mkdir /usr/lib/nutch/urls echo "http://lucene.apache.org/nutch/" > urls/urls.txt • Puis exécutez ses commandes une après l'autre dans le dossier racine de Nutch: ◦ bin/nutch inject crawl/crawldb urls ◦ bin/nutch generate crawl/crawldb crawl/segments ◦ export SEGMENT=crawl/segments/`ls -tr crawl/segments|tail -1` ◦ bin/nutch fetch $SEGMENT -noParsing ◦ bin/nutch parse $SEGMENT ◦ bin/nutch updatedb crawl/crawldb $SEGMENT -filter -normalize ◦ bin/nutch invertlinks crawl/linkdb -dir crawl/segments ◦ bin/nutch solrindex http://127.0.0.1:8983/solr/ crawl/crawldb crawl/linkdb crawl/segments/* Enfin, pour lancer vos recherches, allez à la page http://127.0.0.1:8983/solr/admin dans votre navigateur web ou directement sur cette adresse http://127.0.0.1:8983/solr/nutch/? q=solr&amp;version=2.2&amp;start=0&amp;rows=10&amp;indent=on&amp;wt=json

×