nutch2.0初体验------三大亮点

jopen 12年前
   <p><span style="font-size:18px;">       实在是等不及了,下了开发版的nutch2.0来玩玩,nutch2.0有什么不同呢?从官网wiki(见参考资料)可看到,主要是以下几个方面:</span></p>    <p><span style="font-size:18px;"><strong>1.抽象存储层</strong></span></p>    <p><span style="font-size:18px;">       把存储层抽象出来,不仅像之前那样可以存放在hdfs上,也可以存在其它nosql中,如:hbase,cassandra,或关系数据库。</span></p>    <p><span style="font-size:18px;"><strong>2.精简插件</strong></span></p>    <p><span style="font-size:18px;">       之前是差不多是一种文件使用一个插件来进行解析,现在主要是使用Tika来解析各种文档(见:</span><a href="/misc/goto?guid=4958342512320841424"><span style="font-size:18px;">http://wiki.apache.org/nutch/TikaPlugin</span></a><span style="font-size:18px;">),tika是个强大的文档处理库,网上常见的文档(etc html、pdf、word、excel、powerpoint... )它都可以解析。</span></p>    <p><span style="font-size:18px;"><strong>3.提取爬虫的公共功能</strong></span></p>    <p><span style="font-size:18px;">       可把url过滤,url状态控制,索引去重,这些公共爬虫功能提取出来,供其它爬虫或相似项目(如:<span>bixo, heritrix,droids</span>)使用,就像tika被提取出来作为各种文档的解析工具那样。</span></p>    <p><span style="font-size:18px;"><strong>4.抽象索引过程</strong></span></p>    <p><span style="font-size:18px;">       提供一个轻量级的抽象层来整合来自其它搜索框架的索引/搜索功能,nutch2.0最终只是把文档从DOM转化为NutchDocument,去掉搜索、索引的功能,交给第三方做。</span></p>    <p><span style="font-size:18px;"><strong>5.重写solr索引去重</strong></span></p>    <p><span style="font-size:18px;">       所有操作都通过webtable来进行,同时避免从solr中检索数据。</span></p>    <p><span style="font-size:18px;"><strong>6.各种新功能</strong></span></p>    <p><span style="font-size:18px;">       如:支持网站地图,规范标签,更好控制跳转,发现重复网站,web图管理工具等。</span></p>    <p><span style="font-size:18px;">下面是开发版的三个亮点:</span><br /> <span style="font-size:18px;"><strong>亮点 1 支持多种持久化层</strong></span></p>    <p><span style="font-size:18px;">       从nutch2.0的源码来看,存储层已经换成了gora,gora是apache的一个项目,主要是作为nosql的orm框架(也支持sql),目前支持hbase,cassandra,accumulo(<span>美国国家安全局(NSA)向Apache基金会捐赠了一个新数据库项目,<span>提供了细粒度访问控制,来头不小</span></span>),和关系数据库(开发中,功能未完善)。gora项目地址:<a href="/misc/goto?guid=4958342513118516583">http://gora.apache.org</a></span></p>    <p><span style="font-size:18px;"><strong>亮点 2 restful风格的服务接口</strong></span></p>    <p><span style="font-size:18px;">       nutch2.0可以把nutch作为一个爬虫服务,通过rest接口管理爬虫状态,绝对是个好东西。</span></p>    <p><span style="font-size:18px;"><strong>亮点 3 简化解析插件</strong></span></p>    <p><span style="font-size:18px;">       nutch2.0使用tika库来解析各种文档,tika库封装了常用文档的解析类(如:poi,pdfbox这些),配置插件时只需配置解析html和tika就行了,方便了很多。</span></p>    <p><span style="font-size:18px;">       目前的开发版索引和搜索的抽象层还没有开发出来,主要还是使用solr作为主要的索引/搜索支撑,其它上面提到的特性不知道实现了没有,要看看源码知道。</span></p>    <p><span style="font-size:18px;">       添加了对nosql存储层的支持,nutch和google原先的模型很像了,google的分布式文件系统GFS,nutch的HDFS,同样是使用 mapreduce算法处理,存储层google的bigtable,nutch的hbase、cassandra、<span style="font-size:18px;">accumulo(三个nosql都是基于bigtable论文)。不过这些都差不多是google十年前的技术了,现在不知道改进了多少,还是</span>期待nutch2.0早日发布。</span></p>    <p>参考资料:<a href="/misc/goto?guid=4958342513914400155">http://wiki.apache.org/nutch/Nutch2Roadmap</a></p>    <p>本文地址:<a href="/misc/goto?guid=4958342514717752122">http://blog.csdn.net/laigood12345/article/details/7626394</a></p>