一。topN job:对urls预处理并取topN urls by score decending.
map:<url,crawldatum> -> <score,selectorentry>。urls预处理和格式转换
a.url filter
b.初步处理是否fetch(当fetchtime 比当前时间滞后才fetch)
c.抓取间隔处理。如果 在crawl.gen.delay时间范围内,则不会再将次云抓取,这个也是索引实时度 的一个主要参数 。/7days/
d.scoring filter 作为sort value.其中link and opic只是简单地利用datum.getScore() * initSort返回。两者默认都是1.0
e.score threshold控制 。目前没有设置,作为NaN值处理.
f.更新_ngt_;同时转换输出格式。
partition:利用URLPartitioner对Url根据partition.url.mode进行hash,結果将导致相同的host(host或ip)的urls分到相同的red上去。
red:根据 topN要求,对每个red进行期望(mean)计算,所以所有red得到的不是准确的topn值。
对于生成的segnu相同的情况下,生成的临时結果fetchlist-segnum会将相关的red結果存放在同一文件下。
<score,selectorentry> --> <score,selectorentry>
note:DecreasingFloatComparator
二。parition job(其实是生成segment name及其中的crawl_generate数据)
m:SelectorInverseMapper,invert the input <score,selectorentry> ---> <url,selectorentry>
p:同topn job
r:convert <url,selectorentry> --> <url,crawldatum>
SequenceFileOutputFormat
note:这job使用了HashComparator作为outputkeycomparator,而它是优先于red执行的 ,他将host比url中的其它部分增加了权重,所以得到的結果是不同site的urls更加有均匀地分发到各red中?
也许会问,为什么topn job中的part已经相同host的urls均匀分布l在各个red中了而这里又搞乱呢?但我认为前者是不必要的,况且这样造成了如果host不均匀时出现某个red负载较重;而最关键的是这里的part,所以它是一个按url hash的值,而且增加了host的权重。
[三。update crawldb job]( 此job是update时才执行)
过程是:如果存在旧的crawldatum则保留下来,同时复位 _ngt_;也具备url deduplicate功能。
将injector的結果与上述的結果合并,可以看出两者都 是以<url,crawldatum>输出的,所以是可以合并 。
所以結果是:<url ,crawldatum>,note:此結果是存放在crawldb/current下,所以以MapFileOutputFormat与injector的保持一致。
------------
topn job:
map -> (在map后直接调用)part
-> (所有map完成后逐个partition进行)sort -> red -> (red后直接调用) outputformat
------------
結果输出:
bnitz@leibnitz-laptop:~/Search_engine/nutch/mynutch1.2$ hadoop fs -text output/debug/segments/20110706014523/crawl_generate/part-00000
hadoop home:
http://www.163.com/ Version: 7
Status: 1 (db_unfetched)
Fetch time: Mon Jul 04 14:57:19 CST 2011
Modified time: Thu Jan 01 08:00:00 CST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0
Signature: null
Metadata: _ngt_: 1309887693964
http://www.csdn.net/ Version: 7
Status: 1 (db_unfetched)
Fetch time: Mon Jul 04 14:57:19 CST 2011
Modified time: Thu Jan 01 08:00:00 CST 1970
Retries since fetch: 0
Retry interval: 2592000 seconds (30 days)
Score: 1.0
Signature: null
Metadata: _ngt_: 1309887693964