Команда Nutch solrindex не индексирует все URL в Solr - PullRequest
3 голосов
/ 21 июня 2011

У меня есть индекс Nutch, отсканированный из определенного домена, и я использую команду solrindex, чтобы передать просканированные данные в мой индекс Solr.Проблема в том, что кажется, что только некоторые из просканированных URL-адресов фактически индексируются в Solr.У меня был вывод сканирования Nutch в текстовый файл, чтобы я мог видеть URL-адреса, которые он сканировал, но когда я ищу некоторые из просканированных URL-адресов в Solr, я не вижу результатов.

Команда, которую я использую для выполненияСканирование Nutch: bin/nutch crawl urls -dir crawl -depth 20 -topN 2000000

Эта команда успешно завершается, и в выходных данных отображаются URL-адреса, которые я не могу найти в результирующем индексе Solr.

Команда, которую я использую для передачи данных для обхода в Solr:bin/nutch solrindex <a href="http://localhost:8983/solr/" rel="nofollow">http://localhost:8983/solr/</a> crawl/crawldb crawl/linkdb crawl/segments/*

В выводе этой команды говорится, что она также успешно завершается, поэтому, похоже, это не проблема с преждевременным завершением процесса (как я и предполагал изначально).

И последнее, что я нахожу странным, это то, что вся конфигурация Nutch & Solr идентична настройке, которую я использовал ранее на другом сервере, и у меня не было проблем в то время.Это буквально те же самые файлы конфигурации, скопированные на этот новый сервер.

TL; DR: У меня есть набор URL-адресов, успешно просканированных в Nutch, но когда я запускаю команду solrindex, только некоторые изих подталкивают к Solr.Пожалуйста, помогите.

ОБНОВЛЕНИЕ: Я перезапустил все эти команды, и вывод все еще настаивает, что все работает нормально.Я изучил любые блокировщики для индексации, о которых я могу думать, но все же не повезло.URL-адреса, передаваемые Solr, являются активными и общедоступными, так что это не проблема.Я действительно бьюсь головой о стену, поэтому хотел бы помочь.

1 Ответ

1 голос
/ 12 июля 2011

Я могу только догадываться, что произошло из моего опыта:

Существует компонент под названием url-normalizer (с его конфигурацией url-normalizer.xml), который усекает некоторые URL-адреса (удаляя параметры URL, SessionIds, ...)

Кроме того, Nutch использует уникальное ограничение, по умолчанию каждый URL сохраняется только один раз.

Таким образом, если нормализатор усекает 2 или более URL ('foo.jsp? Param = value', 'foo.jsp? Param = value2', 'foo.jsp? Param = value3', ...) до точно такой же ('foo.jsp'), они сохраняются только один раз. Поэтому Solr будет видеть только подмножество всех просканированных URL.

ура

...