Индекс Solr пуст после команды nutch solrindex - PullRequest
2 голосов
/ 05 августа 2011

Я использую Nutch и Solr для индексации общего файлового ресурса.

Первый выпуск: URL сканирования bin / nutch

Что дает мне:

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

Тогда я: bin / nutch solrindex http://localhost:8983/solr/ crawl-20110804191414 / crawldb crawl-20110804191414 / linkdb crawl-20110804191414 / сегментов / *

, что дает мне:

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

КогдаЯ делаю : запрос на solr Я получаю:

<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>

: (

Обратите внимание, что это работало нормально, когда я пытался использовать protocol-http для сканирования сайтано не работает, когда я использую протокол-файл для сканирования файловой системы.

--- EDIT --- После повторной попытки сегодня я заметил, что файлы с пробелами в именах вызывают ошибку 404. Этомного файлов в общей папке, которую я индексирую. Однако файлы thumbs.db делали это нормально. Это говорит мне о том, что проблема не в том, что я думал.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2017

Это потому, что solr не получил данные для индексации.Похоже, вы не правильно выполнили предыдущие команды.Перезапустите весь процесс и попробуйте последнюю команду.скопируйте команды отсюда: https://wiki.apache.org/nutch/NutchTutorial или отправьте мое видео на YouTube - https://www.youtube.com/watch?v=aEap3B3M-PU&t=449s

0 голосов
/ 29 января 2013

Я провел большую часть сегодняшнего дня, пересматривая ваши шаги. В конце концов я прибег к отладке printf в /opt/nutch/src/java/org/apache/nutch/indexer/IndexerMapReduce.java, который показал мне, что каждый URL, который я пытался проиндексировать, появлялся дважды, один раз начиная с file: // / var / www / Engineering /, как я изначально указывал, и однажды начинаю с файла: / u / u60 / Engineering /. В этой системе / var / www / Engineering является символической ссылкой на / u / u60 / Engineering. Кроме того, URL-адреса / var / www / Engineering были отклонены, поскольку поле parseText не было предоставлено, а URL-адреса / u / u60 / Engineering были отклонены, поскольку поле fetchDatum не было предоставлено. Указание исходных URL-адресов в / u / u60 / Engineering форме решило мою проблему. Надеюсь, что это поможет следующему соку в этой ситуации.

...