Как индексировать только страницы с определенными URL с помощью Nutch? - PullRequest
1 голос
/ 15 июля 2010

Я хочу, чтобы Nutch сканировал abc.com, но я хочу индексировать только car.abc.com.Ссылки на car.abc.com возможны на любых уровнях в abc.com.Поэтому я хочу, чтобы Nutch нормально продолжал сканировать abc.com, но индексировал только те страницы, которые начинаются как car.abc.com.например, car.abc.com/toyota ... car.abc.com/honda ...

Я установил в regex-urlfilter.txt включение только car.abc.com и запустил команду «создать обход»/ crawldb crawl / сегменты ", но он просто говорит" Генератор: 0 записей, выбранных для извлечения, выхода ... ".Я думаю, что ссылки на car.abc.com существуют только на нескольких уровнях.

Как это сделать?Благодарю.

1 Ответ

1 голос
/ 15 июля 2010

Одним из способов является использование ключа -filter команды mergedb.Команда принимает в качестве входных данных базу данных обхода и создала новую базу данных обхода с некоторыми фильтрованными URL-адресами.Просто используйте эту отфильтрованную базу данных обхода для индексации.

Единственным недостатком этого является то, что я не нашел способа для команды mergedb использовать другой файл, кроме regex-urlfilter.txt, который используется файломгенератор.Вам нужно будет сохранить два файла, например regex-urlfilter.txt: один используется для генератора с abc.com , а другой - для команды mergedb, которая исключает URL-адреса, отличные от car.abc.com.Но поскольку обе команды пытаются загрузить один и тот же файл, вам придется переименовать соответствующий файл в regex-urlfilter.txt, прежде чем вызывать одну из двух команд.

Если кто-то знает способ настроить команду mergedb наиспользуйте другой файл, я буду рад это услышать!

...