2017-06-29 31 views
0

我想用Nutch的抓取新的URL列表未抓取網址,但也有一些取消取網址:如何刪除/刪除Nutch的數據庫(CrawlDB)

bin/nutch readdb -stats 

WebTable statistics start 
Statistics for WebTable: 
retry 0: 3403 
retry 1: 25 
retry 2: 2 
status 4 (status_redir_temp): 5 
status 5 (status_redir_perm): 26 
retry 3: 1 
status 2 (status_fetched): 704 
jobs: {db_stats-job_local_0001={jobName=db_stats, jobID=job_local_0001, counters={Map-Reduce Framework={MAP_OUTPUT_MATERIALIZED_BYTES=227, REDUCE_INPUT_RECORDS=13, SPILLED_RECORDS=26, VIRTUAL_MEMORY_BYTES=0, MAP_INPUT_RECORDS=3431, SPLIT_RAW_BYTES=1059, MAP_OUTPUT_BYTES=181843, REDUCE_SHUFFLE_BYTES=0, PHYSICAL_MEMORY_BYTES=0, REDUCE_INPUT_GROUPS=13, COMBINE_OUTPUT_RECORDS=13, REDUCE_OUTPUT_RECORDS=13, MAP_OUTPUT_RECORDS=13724, COMBINE_INPUT_RECORDS=13724, CPU_MILLISECONDS=0, COMMITTED_HEAP_BYTES=718675968}, File Input Format Counters ={BYTES_READ=0}, File Output Format Counters ={BYTES_WRITTEN=397}, FileSystemCounters={FILE_BYTES_WRITTEN=1034761, FILE_BYTES_READ=912539}}}} 
max score: 1.0 
status 1 (status_unfetched): 2679 
min score: 0.0 
status 3 (status_gone): 17 
TOTAL urls: 3431 
avg score: 0.0043631596 
WebTable statistics: done 

所以,我怎樣才能從中刪除Nutch數據庫?謝謝

回答

0

你可以使用CrawlDbMerger,但你只能通過URL進行過濾,而不是狀態,發生器作業已經支持使用jexl表達式,但據我所知,我們沒有內置該功能現在進入抓取數據庫。

一種方法是列出所有的URL與status_unfetchedreaddb)和寫一些正則表達式來阻止他們(使用正常的URL過濾),那麼你只需要使用CrawlDbMerger此過濾器的啓用而您的網址過濾crawldb應該消失。