我開始使用Apache Nutch(v1.5.1)爲某個域下的所有網站建立索引。 在我的域中有大量的網站(按數量級排列),我需要逐步爲它們編制索引,而不是等待整個過程的結束。如何在爬行時製作Apache Nutch索引
我發現這在nutch維基(這裏http://wiki.apache.org/nutch/NutchTutorial/#A3.2_Using_Individual_Commands_for_Whole-Web_Crawling)應該工作的東西。這個想法是讓一個腳本週期性地調用我的進程的每一步(抓取,獲取,解析,...)一定數量的數據(例如1000 URL)。
bin/nutch inject crawl/crawldb crawl/seed.txt
bin/nutch generate crawl/crawldb crawl/segments -topN 25
s1=`ls -d crawl/segments/2* | tail -1`
echo $s1
bin/nutch fetch $s1
bin/nutch parse $s1
bin/nutch updatedb crawl/crawldb $s1
bin/nutch generate crawl/crawldb crawl/segments -topN 25
s2=`ls -d crawl/segments/2* | tail -1`
echo $s2
bin/nutch fetch $s2
bin/nutch parse $s2
bin/nutch updatedb crawl/crawldb $s2
...
bin/nutch invertlinks crawl/linkdb -dir crawl/segments
bin/nutch index crawl/indexes crawl/crawldb crawl/linkdb crawl/segments/*
我的問題是:有沒有什麼辦法可以指定該設置直接進入Nutch的,讓他做這個東西在並行多trasparent方式?例如在分離的三維?
感謝回答。
UPDATE
我試圖創建腳本(代碼段),但unfortunatlly我上反轉鏈接階段的錯誤。這是輸出:
LinkDb: starting at 2012-07-30 11:04:58
LinkDb: linkdb: crawl/linkdb
LinkDb: URL normalize: true
LinkDb: URL filter: true
LinkDb: internal links will be ignored.
LinkDb: adding segment: file:/home/apache-nutch-1.5-bin/crawl/segments/20120730102927
LinkDb: adding segment: file:/home/apache-nutch-1.5-bin/crawl/segments/20120704094625
...
LinkDb: adding segment: file:/home/apache-nutch-1.5-bin/crawl/segments/20120704095730
LinkDb: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist:
file:/home/apache-nutch-1.5-bin/crawl/segments/20120730102927/parse_data
Input path does not exist:
file:/home/apache-nutch-1.5-bin/crawl/segments/20120704094625/parse_data
...
感謝您的幫助。