nutch
文章平均质量分 53
leibnitz09
这个作者很懒,什么都没留下…
展开
-
nutch 处理robots.txt原理
形如大多SE一样,在bot搜寻过程中会检查网站robots.txt文件,以便是否设置了针对自己的rules。 一.robots.txt常识由于robots.txt是一个协议而不是规范,所以不同的SE会有自己的实际处理规则。nutch也一样。看看它是怎样书写的: User-agent: unhipbot Disallow: / User-...原创 2011-08-28 16:42:17 · 160 阅读 · 0 评论 -
nutch 搜索site dedup
这个版本发现有个大大的bug,就是搜索时同一页面出现重复,不同页面也出现重复。即使有check dedup功能,也不起作用。后来把代码修改一个才行,被搞晕。。。 其实关键代码就在于NutchBean.search(query)中。以下来分析一下。 public Hits search(Query query) throws IOException { if (q...原创 2011-07-22 01:41:43 · 114 阅读 · 0 评论 -
nutch 评分机制
其实nutch的评分机制有二部分,与通常的SE类似:1。keywords匹配度比如利用了lucene的similary机制,要索引和查询时均可定制。 2。page rank这里有二个,一是LinkAanlyzeScoring,作通常连接分析,但基本上都没有方法实现;不知道是否是opic的一个早期版本? 二是opic,即on-line importance c...原创 2011-07-22 02:28:22 · 196 阅读 · 0 评论 -
nutch 数据增量更新
以下是转载的执行recrawl的脚本(其实还是可以再优化的,比如参数和备份处理过程等),来对比 一下与普通的crawl有啥区别。# runbot script to run the Nutch bot for crawling and re-crawling.# Usage: bin/runbot [safe]# If executed in 'safe' mode,...2011-07-22 19:25:17 · 117 阅读 · 0 评论 -
nutch 分布式搜索-standalone mode
本地模式篇,其实就是相当 于之前图中的虚线部分。詳細如下图: 安装步骤:1.search client that acts as a web container to make requests.2.search servers which supply services to feed ./bin/nutch server <port> <...2011-10-17 01:47:41 · 67 阅读 · 0 评论 -
nutch 分布式搜索-cluster-local index
此过程亦相当简单,只是修改一下search-servers.txt即可。 seestandalone mode2011-10-17 02:13:39 · 74 阅读 · 0 评论 -
nutch 分布式搜索-cluster-hdfs index
此过程也很简单,步骤是:a.put the indexes to hdfs respectively;b.let search server three xml files related with hdfs,core,mapred -site.xml be same with the hadoop-slave's respectively;c.retrieve the path of...2011-10-17 02:14:05 · 75 阅读 · 0 评论 -
nutch 分布式索引(爬虫)
其实,全网抓取比intranet区别再于, 前者提供了较为多的urls入口, 没有使用crawl-urlfilter.txt 中并没有限制哪些url,(如果没有使用crawl命令) 并通过逐步处理的方式得以可按的局面; 在1.3,还有此区别, 如默认的fetcher.parse是false,使得每次fetch后必须有一个parse step,刚开始老是看...2011-10-19 00:15:26 · 160 阅读 · 0 评论 -
nutch analyzers 使用机制
一。索引时analyzer我们知道,在Indexer进行index时,是利用IndexOutputFormat进行rewrite的,其中write filters有一个:LuceneWriter。它是这样处理的:*如果crawl过程index filters有添加lang field,那么在此时是依据此它进行retrieve plugin related NutchAnalyzer...2011-07-31 14:35:35 · 92 阅读 · 0 评论 -
nutch搜索架构关键类
在整个crawl->recrawl后,其实作为搜索的文件夹只有两个:* index(indexes) :提供搜索,和获取details信息(其实它也是通过 lucene doc fields来得到)。如title,url,last-modified,cache等等。* segments : 提供summary即页面的描述,也就 是parse_text和cached(快照,con...2011-12-13 00:17:12 · 108 阅读 · 0 评论 -
nutch结合hadoop解説 RPC机制
todo2011-12-13 00:18:19 · 129 阅读 · 0 评论 -
nutch 几种搜索布署
1。这是最简单的一种布署方式,通常用于简单测试。 2.当过索引大小超过一台机器时,应该使用cluster方式。see also:nutch 分布式搜索-cluster-hdfs index3。虽然2中解决了数据量大的问题,但没解决快速搜索的目的。see also:nutch 分布式搜索-cluster-hdfs index4.在3的...2011-12-29 13:21:46 · 88 阅读 · 0 评论 -
nutch 配置文件详解
下面来分析 一下,conf目录下各文件的作用是怎样的:crawl-urlfiter.txt:此文件名在crawl-tool.xml中配置,属于crawl命令专有的配置,即分布式抓取 时不起作用。regex-urlfilter.xml:此文件在分布式抓取时将代替crawl-filter.txt,see nutch-defulat.xml--上述解析类见RegexURLFilter...2011-11-17 16:58:01 · 182 阅读 · 0 评论 -
nutch 中的trie tree 算法简介
todoo2011-11-18 14:18:16 · 183 阅读 · 0 评论 -
nutch 发布时要注意的问题
在利用Nutch自身的ant打包后,如果对整个项目不太清楚结构,往往出现很多奇怪的问题。这里就是遇到了。。。 *打job后,留在该项目中进行测试时,出现:org.apache.nutch.plugin.PluginRuntimeException: java.lang.ClassNotFoundException: org.apache.nutch.net.urlnormalizer....2011-12-04 23:40:51 · 91 阅读 · 0 评论 -
nutch 搜索流程 2-distributed search
了解了local search ,那么进行distributed search也是相当简单的。只涉及几台机器的搜索,归并服务而已。 图中虚线表示采用local fs情况,即每台机器放自己的index,segmenets(注意它也也是可以分布式) references:nutch1.0分布查询 ...原创 2011-07-20 13:55:21 · 99 阅读 · 0 评论 -
nutch 搜索流程 1-local search
nutch搜索时进行了querys优化处理,包括缓存等。为了对实际的搜索过程进行分析,让我们来对现成的搜索代码进行分析。 一。流程二。分析 1.initiated nutch query利用Query来parse生成,具体分成三步:*NutchAnalysis.parseQuery():如果根据指定语言没有找到指定analyzer,则使用默认的Nutchdocument...原创 2011-07-19 23:34:16 · 95 阅读 · 0 评论 -
nutch 1.2 启动流程
todo原创 2011-07-19 15:44:26 · 121 阅读 · 0 评论 -
nutch对某个contentType文档进行解析的流程
nutch支持对诸多的文档类型作了解析处理,包括html,xml,zip,pdf等,其中好像从1.1以后提供了tika的进一步封装处理。 1.说明在fetch的output()时会发现,它调用了ParseUtil的parse()进行处理。nutch执行解析时有个优先级原则,即parse-plugins.xml是可选的,如果存在,则使用,不存在的话直接从plugin.includ...原创 2011-09-04 12:48:58 · 110 阅读 · 0 评论 -
nutch 1.2 学习
现在开始对它进行研究和应用,有兴趣的一起討論。 研究目的:1.海量数据情况下hadoop的继续深入2.分布式下爬虫和搜索的探索3.pagerank的实际分析4.对开源架构的学习 references:eclipse上布置(是java project而不是web project) 应用心得]nutch1.2 的eclipse windows 集成 ...原创 2011-06-07 22:53:02 · 77 阅读 · 0 评论 -
1.1 nutch 基本概念
爬行方式nutch分为intract crawling(IC) and whole web crawling(WWC),其实这两者区别不大,主要是后者使用了step by step的方式来实现,而前者是一个crawl来处理整个procedure,同时有进行pagerank处理功能?。当然分步进行提供了更多的灵活性(即参数可以控),也便 于观察。 WWC实现方式有内置的D...原创 2011-06-12 23:17:41 · 82 阅读 · 0 评论 -
nutch对某个contentType文档进行解析的流程--html
经过上一遍contentType流程介绍后,现在进入具体的针对html文档的解析过程介绍。 在ParseUtil#getParse()中, 当选定一种parser( 这里是HtmlParser)后,便 进入到对应 的getParse方法中。大概步骤是:1.猜测页面的最佳编码;2.解析页面中特定的meta,如robots,base等元数据;3.检查是否可以index或...2011-09-22 23:44:59 · 67 阅读 · 0 评论 -
抓取流程-injector
这是一个将seed urls进行初始化为web图的过程,其中page 作为node,links作为边。另外这里的urls(每行一个,可以在url后加上相关metadata,比如,nutch.score等参数进行url crawl的定制)。 过程:一。sort job此过程主要是在m阶段进行一些url清洗,如urlnormal,urlfilter,scorefiler;r阶段进行...2011-06-29 02:44:48 · 143 阅读 · 0 评论 -
抓取流程-generator
一。topN job:对urls预处理并取topN urls by score decending.map:<url,crawldatum> -> <score,selectorentry>。urls预处理和格式转换a.url filterb.初步处理是否fetch(当fetchtime 比当前时间滞后才fetch)c.抓取间隔处理。如果 在cr...原创 2011-07-04 15:56:46 · 83 阅读 · 0 评论 -
抓取流程-fetcher
这个过程很简单,就是开启了一个maprunnable来实现自定义的输出(没有使用通常的mapper).red也是使用默认的.过程是: 一。Fetch初始化由于它实现了MapRunnable,那么它其实是一个mapper的启动器,包括将多个输入Key-value pairs处理,然后输出的过程完全由其中的run()实现了,所以发现job中并没有定义mapper;而reduce也是...原创 2011-07-07 00:00:00 · 337 阅读 · 0 评论 -
抓取流程-updatedb
此过程比较简单,是generate,fetch,udpatedb中的最后一环。其实就是将新发现的和抓取失败的送回crawldb/current下。 过程:一。inputinputpaths:contains [ crawldb/current,crawl_fetch,crawl_parse],note:这是利用FileInputPath.addInputpath(),这意味着相当于...2011-07-11 23:02:46 · 112 阅读 · 0 评论 -
抓取流程-小结
从之前 的抓取結果来分析各阶段的情况。其中蓝色表示未修改但要注意的,红色表示前后已经修改的。 injector:只有二个seed urls( 这里没有列出csdn数据)http://www.163.com/ Version: 7 #7为当前nutch的修改版本Status: 1 (db_unfetched) ...2011-07-14 11:09:46 · 101 阅读 · 0 评论 -
linkdb-inverted link map
任务是:inverted link map此过程也是比较简单,不过代码好像有点问题。。1.inverted jobinput:将segments下所有segs的parse_data作为输入。<url ,ParseData>M:将<fromUrl,toUrls> --> <toUrl,fromUrl> list,即倒相了。C&R:限制...2011-07-14 17:47:19 · 90 阅读 · 0 评论 -
索引过程-index
可以说这个过程就是一个"shuffle"的过程,然后进行index操作。 流程: 詳細过程:input: 这里有几个文件,来分析各文件的作用crawl-fetch:当获取不到last-midified time时,用来fetch time代替crawl-parse:no useparse-data:conten-type;date等索引...原创 2011-07-15 15:23:58 · 172 阅读 · 0 评论 -
索引过程-delete duplicates
去重过程同样很简单,不过需要些技巧。正如你想的一样,在入手之前我自己也分析,怎样根据url & md5去重呢?去重又怎样实现呢?*其中我当时想法跟job1(见下面)做法是相近的:url+time;*而md5去重时我又觉得使用md5+time亦未尝不可,因为当时我没有考虑到score因素,但可以断定的是不能使用md5作为distinct,因为这就是题目要求;*至于怎样去删除索...原创 2011-07-15 17:01:23 · 130 阅读 · 0 评论 -
索引过程-merge index
是的,这部分没有使用job,这点我也想到了:) 功能:将由之前多个reduces index后(严格来说是dedup后)进行索引 合并 ;将dedup后的deleted flags index进行清除; 也许会问,为什么要合并 呢?对了,对于构建一个分布式搜索系统来说这一步是不需要的,严格来说是"no"的,因为这步是作用一个intract net crawler来作为最...原创 2011-07-16 11:38:23 · 198 阅读 · 0 评论 -
plugins 机制
觉得这块也是蛮重要的,所以得要认真学了。但检索到网上讲得不是很清楚,要么就是背书一样;要么 就是没深入到点子上。这里可以说 是作为一种扩展吧,希望可以对那么有所额外的补充。 一.概念PluginClassloader:利用self-defined的来指定具体的loader,只是名称变了,其实是URLClassLoader,因为plugin所依賴 的libs及files...原创 2011-07-16 11:44:29 · 314 阅读 · 0 评论 -
访问hadoop数据时注意相对路径问题
今天在nutch配置分布式搜索时出现搜索不到結果,背景是:用hadoop账号建立了索引,但使用xx账号时搜索不到。奇怪的是我在mr plugin下,使用xx账号却可以访问正常。 刚开始以为是conf下文件不对,但后来将整个tomcat布署在hadoop下却有結果,所以判断不是配置问题。转而怀疑是不同账号hadoop平台有没有做限制。如果是真的,为什么mr plugin下可以访问正常...2011-12-07 00:30:53 · 402 阅读 · 0 评论