摘要: 下面是Google翻译的http://wiki.apache.org/nutch/NewScoring内容,是关于Nutch 新的链接分数算法的说明,有点类似于Google的PageRank,这里有其运行的一个例子http://wiki.apache.org/nutch/NewScoringIndexingExample。本页面描述了修订723441新的计分(即WebGraph链接分析)Nutch的功能​​。又见新的得分例如。目录一般资料WebGraph循环LinkRankScoreUpdater问题如果不忽略内部链接,将LinkRank分数相当于PageRank的分数呢?一般资料新的评分功能 阅读全文
posted @ 2011-10-24 00:13 爱开卷360 阅读(1223) 评论(0) 推荐(0) 编辑
摘要: Nutch 2.0 的主要一些变化1. Storage Abstraction initially with back end implementations for HBase and HDFS extend it to other storages later e.g. MySQL etc... 这里说的是一个存储层的抽象,因为原来nutch的链接与数据的存储都是在HDFS上的,新的Nutch 2.0准备把存储层进行抽象,使用的是新的NoSql的ORM框架,叫做GORA,下面地址中有其说明http://wiki.apache.org/nutch/GORA_HBase,主页在http://i 阅读全文
posted @ 2011-10-24 00:13 爱开卷360 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: 1. Nutch 1.3 的页面评分机制 Nutch1.3目前默认还是使用OPIC作为其网页分数算法,但其之后,已经引入了PageRank-like算法,以弥补OPIC算法的不足,目前OPIC算法还是作为Nutch中ScoreFilter扩展点的一个扩展来实现的,而新的LinkRank算法有一个叫做org.apache.nutch.scoring.webgraph的包来对网页进行分数计算,它可以解决OPIC解决不了的问题,一个是重复地抓取页面,会引起那些被抓取的页面重要性增加;另一个是同时新添加的页面必须进行抓取,这样会使整个网络的总cash流通量增加,这样会造成那些没有重复抓取的页面重要性降 阅读全文
posted @ 2011-10-24 00:11 爱开卷360 阅读(987) 评论(0) 推荐(0) 编辑
摘要: 1. 一些对象说明PluginRepository:这是一个用于存储所有插件描述对象(PluginDescriptor),插件扩展点(ExtensionPoint)和被激活的插件。PluginDescriptor:用于描述单个扩展插件的元信息,它的内容主要是从plugin.xml中得到。Plugin: 用于描述插件的一个抽象,其中包括了一个插件描述符,它们是一对一的关系。ExtensionPoint: 这个扩展点主要是一个面象对象中的接口的意思,就是说可以有多个扩展来实现这个接口,一个或者多个扩展点实际上就是一个插件,如nutch-extensionpoints. Extension: 扩展是 阅读全文
posted @ 2011-10-24 00:11 爱开卷360 阅读(864) 评论(0) 推荐(0) 编辑
摘要: 1. 自己扩展一个简单的插件 这里扩展一个Nutch的URLFilter插件,叫MyURLFilter 1.1 生成一个Package 首先生成一个与urlfilter-regex类似的包结构如org.apache.nutch.urlfilter.my 1.2 在这个包中生成相应的扩展文件 再生成一个MyURLFilter.java文件,内容如下: packageorg.apache.nutch.urlfilter.my; importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamRe... 阅读全文
posted @ 2011-10-24 00:10 爱开卷360 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 在Nutch中,大量的可扩展的部分都使用了插件来做,如网页下载时所用的协议选择,解析不同类型的网页,url的过滤和规范化都使用了Nutch的插件机制。 Nutch中插件的主要目标是: 可扩展性:用户可以通过实现相应的接口来生成自己的扩展插件 灵活性:任务人都可以参与插件的编写。 可维护性:插件的开发者只要实现相应的扩展接口,而不需要关注插件的内部原理。 下面对其原理和代码做一个简单的分析。1. 一些概念1.1 插件仓库(PluginRepository) 插件仓库是一个所有插件的注册器,在系统启动时,这个仓库是通过分析插件目录中所有插件的mainfest文件来生成。对于每一个插件都会生成一个插 阅读全文
posted @ 2011-10-24 00:10 爱开卷360 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 新的Nutch使用了Solr来做了后台的索引服务,nutch正在努力与Solr进行更方便的整合,它很好的与Solr处理了耦合关系,把Solr当成一个服务,Nutch只要调用其客户端就可以与其进行通讯。1. bin/nutch solrindex 这个命令是用来对抓取下来的内容建立索引,帮助如下: Usage:SolrIndexer<solrurl><crawldb><linkdb>(<segment>...|-dir<segments>) 这里我们可以看到第一个参数为<solr url>,这是solr服务的一个地址,第二个 阅读全文
posted @ 2011-10-24 00:03 爱开卷360 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: 这里主要是分析一下org.apache.nutch.crawl.LinkDb,它主要是用计算反向链接。1. 运行命令 bin/nutch invertlinks帮助参数说明:Usage:LinkDb<linkdb>(-dir<segmentsDir>|<seg1><seg2>...)[-force][-noNormalize][-noFilter]linkdboutputLinkDbtocreateorupdate-dirsegmentsDirparentdirectoryofseveralsegments,ORseg1seg2...listof 阅读全文
posted @ 2011-10-24 00:02 爱开卷360 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 这里主要看一下CrawlDb中的updatedb,它主要是用来更新CrawlDb数据库的1. bin/nutch updatedb我们用nutch的命令行时会看到一个方法叫updatedb,其实这个方法就是调用CrawlDb.java类中的update方法,它的参数帮助如下:Usage:CrawlDb<crawldb>(-dir<segments>|<seg1><seg2>...)[-force][-normalize][-filter][-noAdditions]crawldbCrawlDbtoupdate-dirsegmentsparentd 阅读全文
posted @ 2011-10-24 00:00 爱开卷360 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 1. bin/nutch parse这个命令主要是用来解析抓取的内容,对其进行外链接分析,计算分数等操作,这个解析在抓取的时候就可以设置是否进行,如果在抓取的时候没有设置解析抓取的网页内容,那这边可以单独用一个Map-Reduce任务来做。后面的参数为:Usage: ParseSegment segment这里是一个segment的目录名2. ParseSegment源代码分析2.1 任务的启动ParseSegment任务的启动也是用一个Map-Reduce任务的,下面是它的源代码//配置一个JobJobConfjob=newNutchJob(getConf());job.setJobName 阅读全文
posted @ 2011-10-24 00:00 爱开卷360 阅读(1012) 评论(1) 推荐(1) 编辑