2011-08-05 3 views
2

J'utilise Nutch et Solr pour indexer un partage de fichiers.Solr index vide après la commande nutch solrindex

Je premier numéro: bin/nutch crawl urls

Ce qui me donne:

solrUrl is not set, indexing will be skipped... 
crawl started in: crawl-20110804191414 
rootUrlDir = urls 
threads = 10 
depth = 5 
solrUrl=null 
Injector: starting at 2011-08-04 19:14:14 
Injector: crawlDb: crawl-20110804191414/crawldb 
Injector: urlDir: urls 
Injector: Converting injected urls to crawl db entries. 
Injector: Merging injected urls into crawl db. 
Injector: finished at 2011-08-04 19:14:16, elapsed: 00:00:02 
Generator: starting at 2011-08-04 19:14:16 
Generator: Selecting best-scoring urls due for fetch. 
Generator: filtering: true 
Generator: normalizing: true 
Generator: jobtracker is 'local', generating exactly one partition. 
Generator: Partitioning selected urls for politeness. 
Generator: segment: crawl-20110804191414/segments/20110804191418 
Generator: finished at 2011-08-04 19:14:20, elapsed: 00:00:03 
Fetcher: Your 'http.agent.name' value should be listed first in 'http.robots.agents' property. 
Fetcher: starting at 2011-08-04 19:14:20 
Fetcher: segment: crawl-20110804191414/segments/20110804191418 
Fetcher: threads: 10 
QueueFeeder finished: total 1 records + hit by time limit :0 
-finishing thread FetcherThread, activeThreads=9 
-finishing thread FetcherThread, activeThreads=8 
-finishing thread FetcherThread, activeThreads=7 
-finishing thread FetcherThread, activeThreads=6 
-finishing thread FetcherThread, activeThreads=5 
-finishing thread FetcherThread, activeThreads=4 
-finishing thread FetcherThread, activeThreads=3 
-finishing thread FetcherThread, activeThreads=2 
-finishing thread FetcherThread, activeThreads=1 
fetching file:///mnt/public/Personal/Reminder Building Security.htm 
-finishing thread FetcherThread, activeThreads=0 
-activeThreads=0, spinWaiting=0, fetchQueues.totalSize=0 
-activeThreads=0 
Fetcher: finished at 2011-08-04 19:14:22, elapsed: 00:00:02 
ParseSegment: starting at 2011-08-04 19:14:22 
ParseSegment: segment: crawl-20110804191414/segments/20110804191418 
ParseSegment: finished at 2011-08-04 19:14:23, elapsed: 00:00:01 
CrawlDb update: starting at 2011-08-04 19:14:23 
CrawlDb update: db: crawl-20110804191414/crawldb 
CrawlDb update: segments: [crawl-20110804191414/segments/20110804191418] 
CrawlDb update: additions allowed: true 
CrawlDb update: URL normalizing: true 
CrawlDb update: URL filtering: true 
CrawlDb update: Merging segment data into db. 
CrawlDb update: finished at 2011-08-04 19:14:24, elapsed: 00:00:01 
Generator: starting at 2011-08-04 19:14:24 
Generator: Selecting best-scoring urls due for fetch. 
Generator: filtering: true 
Generator: normalizing: true 
Generator: jobtracker is 'local', generating exactly one partition. 
Generator: 0 records selected for fetching, exiting ... 
Stopping at depth=1 - no more URLs to fetch. 
LinkDb: starting at 2011-08-04 19:14:25 
LinkDb: linkdb: crawl-20110804191414/linkdb 
LinkDb: URL normalize: true 
LinkDb: URL filter: true 
LinkDb: adding segment: file:/home/nutch/nutch-1.3/runtime/local/crawl-20110804191414/segments/20110804191418 
LinkDb: finished at 2011-08-04 19:14:26, elapsed: 00:00:01 
crawl finished: crawl-20110804191414 

Puis I: bin/nutch solrindex http://localhost:8983/solr/ crawl-20110804191414/crawldb crawl-20110804191414/linkdb crawl-20110804191414/segments/*

Ce qui me donne:

SolrIndexer: starting at 2011-08-04 19:17:07 
SolrIndexer: finished at 2011-08-04 19:17:08, elapsed: 00:00:01 

Quand je fais une : requête sur solr je reçois:

<response> 
    <lst name="responseHeader"> 
      <int name="status">0</int> 
      <int name="QTime">2</int> 
      <lst name="params"> 
       <str name="indent">on</str> 
       <str name="start">0</str> 
       <str name="q">*:*</str> 
       <str name="version">2.2</str> 
       <str name="rows">10</str> 
      </lst> 
    </lst> 
    <result name="response" numFound="0" start="0"/> 
</response> 

:(

Notez que cela a bien fonctionné quand j'ai essayé d'utiliser le protocole HTTP pour analyser un site Web, mais ne fonctionne pas quand je utilisez le fichier de protocole pour explorer un système de fichiers. Après avoir essayé cela encore aujourd'hui, j'ai remarqué que les fichiers avec des espaces dans les noms provoquaient une erreur 404. C'est beaucoup de fichiers sur le partage que j'indexe. Cependant, les fichiers thumbs.db le faisaient en ok. Cela me dit que le problème n'est pas ce que je pensais que c'était.

+0

Je l'ai fait aussi une décharge de segment et a constaté que le contenu du texte pdf est indexé, ce qui est génial puisque c'est ce que je besoin de cela pour. Je n'arrive pas à comprendre pourquoi Solr n'est pas mis à jour avec toutes les données. –

+0

J'ai également essayé d'indexer un seul fichier pdf renommé en un seul mot. Les données de segment sont là, le texte est analysé, mais aucun résultat de recherche n'apparaît dans solr après avoir fait bin/nutch solrindex ... –

+0

Vous n'avez toujours pas réussi à résoudre ce problème. J'ai ouvert un problème avec Apache concernant ce problème. Il semble avoir au moins un développeur assigné: https://issues.apache.org/jira/browse/NUTCH-1076 –

Répondre

0

J'ai passé une grande partie de mes journées à revenir sur vos pas. J'ai finalement eu recours au débogage de printf dans /opt/nutch/src/java/org/apache/nutch/indexer/IndexerMapReduce.java, ce qui m'a montré que chaque URL que j'essayais d'indexer apparaissait deux fois, en commençant par le fichier: ///var/www/Engineering /, comme je l'avais d'abord spécifié, et une fois en commençant par le fichier:/u/u60/Engineering /. Sur ce système,/var/www/Engineering est un lien symbolique vers/u/u60/Engineering. De plus, les URL/var/www/Engineering ont été rejetées car le champ parseText n'a pas été fourni et les URL/u/u60/Engineering ont été rejetées car le champ fetchDatum n'a pas été fourni. La spécification des URL d'origine dans le formulaire/u/u60/Engineering a résolu mon problème. J'espère que cela aidera la prochaine sève dans cette situation.