- 浏览: 158230 次
- 性别:
- 来自: 北京
最新评论
-
w156445045:
我最近想写这方面的论文,学位论文啊,哎。希望博主能给点思路,谢 ...
《Lucene+Nutch搜索引擎》看过以后。。。 -
inprice:
这也要研究啊!!!!! 失望ing.........
完成了对于heritrix的初步研究 -
dt_fb:
您好,我想问问您,你有跳过recrawl.sh这个脚本文件么? ...
Nutch开源搜索引擎的crawl日志分析及工作目录说明 -
lovepoem:
能增量吗?是不是还是把所有的url遍历出来。和以前的对比。算是 ...
Nutch开源搜索引擎增量索引recrawl的终极解决办法 -
itang:
见到牛人照片了, MS下巴动过刀(开玩笑)
搜索引擎名人堂之Jeff Dean
看了nutch关于crawl的源码后,我将crawl的日志分析了一下,主要是熟悉一下整个下载、分析、索引的过程。nutch在整个过程中都是通过Hadoop的MapReduce来实现的。
可以通过nutch来深入学习Hadoop编程,都是比较横的代码。这一块待以后研究完毕后,blog出来。
crawl通过nutch-default.xml参数来控制运行过程,另外需要修改crawl-urlfilter.txt和nutch-site.xml来配合运行,这一点在之前的文章中都提到过,就不再赘述了。
下面是我用来crawl的命令
> bin/nutch crawl urls -dir crawl10 -depth 10 -threads 10 >& nohup.out
crawl started in: crawl10 //表明网目录络蜘蛛的名称
rootUrlDir = urls //待下载数据的列表文件或列表
threads = 10 //下载线程为10个
depth = 10 //深度是10层
Injector: starting //注入下载列表
Injector: crawlDb: crawl10/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries. //根据注入的列表生成待下载的地址库
Injector: Merging injected urls into crawl db. //执行merge
Injector: done
Generator: Selecting best-scoring urls due for fetch. //判断网页重要性,决定下载顺序
Generator: starting
Generator: segment: crawl10/segments/20080904102201 //生成下载结果存储的数据段
Generator: filtering: false
Generator: topN: 2147483647 //没有指定topN大小,nutch会取默认值
Generator: Partitioning selected urls by host, for politeness. //将url下载列表按hadoop的中配置文件slaves中定义的datanode来分配。
Generator: done.
Fetcher: starting
Fetcher: segment: crawl10/segments/20080904102201 //下载指定网页内容到segment中去
Fetcher: done
CrawlDb update: starting //下载完毕后,更新下载数据库,增加新的下载
CrawlDb update: db: crawl10/crawldb
CrawlDb update: segments: [crawl10/segments/20080904102201]
CrawlDb update: additions allowed: true
CrawlDb update: URL normalizing: true
CrawlDb update: URL filtering: true
CrawlDb update: Merging segment data into db.
CrawlDb update: done
//循环执行下载
Generator: Selecting best-scoring urls due for fetch.
Generator: starting
Generator: segment: crawl10/segments/20080904102453
Generator: filtering: false
Generator: topN: 2147483647
Generator: Partitioning selected urls by host, for politeness.
Generator: done.
Fetcher: starting
Fetcher: segment: crawl10/segments/20080904102453
Fetcher: done
CrawlDb update: starting
CrawlDb update: db: crawl10/crawldb
CrawlDb update: segments: [crawl10/segments/20080904102453]
CrawlDb update: additions allowed: true
CrawlDb update: URL normalizing: true
CrawlDb update: URL filtering: true
CrawlDb update: Merging segment data into db.
CrawlDb update: done
...... //一共循环10次,Nutch的局域网模式采用了广度优先策略,把二级页面抓取完成以后,进行三级页面抓取。
LinkDb: starting //进行网页链接关系分析
LinkDb: linkdb: crawl10/linkdb
LinkDb: URL normalize: true //规范化
LinkDb: URL filter: true //根据crawl-urlfilter.txt来过滤
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102201
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102453
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102841
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904104322
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904113511
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904132510
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904153615
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904175052
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904194724
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904211956
LinkDb: done //链接分析完毕
Indexer: starting //开始创建索引
Indexer: linkdb: crawl10/linkdb
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102201
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102453
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102841
Indexer: adding segment: /user/nutch/crawl10/segments/20080904104322
Indexer: adding segment: /user/nutch/crawl10/segments/20080904113511
Indexer: adding segment: /user/nutch/crawl10/segments/20080904132510
Indexer: adding segment: /user/nutch/crawl10/segments/20080904153615
Indexer: adding segment: /user/nutch/crawl10/segments/20080904175052
Indexer: adding segment: /user/nutch/crawl10/segments/20080904194724
Indexer: adding segment: /user/nutch/crawl10/segments/20080904211956
Indexer: done //索引创建完毕
Dedup: starting //风页去重
Dedup: adding indexes in: crawl10/indexes
Dedup: done
merging indexes to: crawl10/index //索引合并
Adding /user/nutch/crawl10/indexes/part-00000
Adding /user/nutch/crawl10/indexes/part-00001
Adding /user/nutch/crawl10/indexes/part-00002
Adding /user/nutch/crawl10/indexes/part-00003
done merging //合并完毕
crawl finished: crawl10 //入口注入、循环下载、链接分析、建立索引、去重、合并
抓取程序自动在用户根目录(/user/nutch)下面建立了crawl10目录,可以看到crawldb,segments,index,indexs,linkdb目录,
1)crawldb目录下面存放下载的URL,以及下载的日期,用来页面更新检查时间。
2)linkdb目录存放URL的关联关系,是下载完成后分析时创建的,通过这个关联关系可以实现类似google的pagerank功能。
3)segments目录存储抓取的页面,下面子目录的个数与获取页面的层数有关系,我指定-depth是10层,这个目录下就有10层。
里面有6个子目录
content,下载页面的内容
crawl_fetch,下载URL的状态内容
crawl_generate,待下载的URL的集合,在generate任务生成时和下载过程中持续分析出来
crawl_parse,存放用来更新crawldb的外部链接库
parse_data,存放每个URL解析出来的外部链接和元数据
parse_text,存放每个解析过的URL的文本内容
4)index目录存放符合lucene格式的索引目录,是indexs里所有的索引内容合并后的完整内容,看了一下这里的索引文件和用lucenedemo做出来的文件名称都不一样,待进一步研究
5)indexs目录存放每次下载的索引目录,存放part-0000到part-0003
crawl流程和工作目录搞清楚了,大家可以进一步拜读一下nutch源码。进一步搞清楚各个目录下面的文件作用,以及文件格式。待续!
可以通过nutch来深入学习Hadoop编程,都是比较横的代码。这一块待以后研究完毕后,blog出来。
crawl通过nutch-default.xml参数来控制运行过程,另外需要修改crawl-urlfilter.txt和nutch-site.xml来配合运行,这一点在之前的文章中都提到过,就不再赘述了。
下面是我用来crawl的命令
> bin/nutch crawl urls -dir crawl10 -depth 10 -threads 10 >& nohup.out
crawl started in: crawl10 //表明网目录络蜘蛛的名称
rootUrlDir = urls //待下载数据的列表文件或列表
threads = 10 //下载线程为10个
depth = 10 //深度是10层
Injector: starting //注入下载列表
Injector: crawlDb: crawl10/crawldb
Injector: urlDir: urls
Injector: Converting injected urls to crawl db entries. //根据注入的列表生成待下载的地址库
Injector: Merging injected urls into crawl db. //执行merge
Injector: done
Generator: Selecting best-scoring urls due for fetch. //判断网页重要性,决定下载顺序
Generator: starting
Generator: segment: crawl10/segments/20080904102201 //生成下载结果存储的数据段
Generator: filtering: false
Generator: topN: 2147483647 //没有指定topN大小,nutch会取默认值
Generator: Partitioning selected urls by host, for politeness. //将url下载列表按hadoop的中配置文件slaves中定义的datanode来分配。
Generator: done.
Fetcher: starting
Fetcher: segment: crawl10/segments/20080904102201 //下载指定网页内容到segment中去
Fetcher: done
CrawlDb update: starting //下载完毕后,更新下载数据库,增加新的下载
CrawlDb update: db: crawl10/crawldb
CrawlDb update: segments: [crawl10/segments/20080904102201]
CrawlDb update: additions allowed: true
CrawlDb update: URL normalizing: true
CrawlDb update: URL filtering: true
CrawlDb update: Merging segment data into db.
CrawlDb update: done
//循环执行下载
Generator: Selecting best-scoring urls due for fetch.
Generator: starting
Generator: segment: crawl10/segments/20080904102453
Generator: filtering: false
Generator: topN: 2147483647
Generator: Partitioning selected urls by host, for politeness.
Generator: done.
Fetcher: starting
Fetcher: segment: crawl10/segments/20080904102453
Fetcher: done
CrawlDb update: starting
CrawlDb update: db: crawl10/crawldb
CrawlDb update: segments: [crawl10/segments/20080904102453]
CrawlDb update: additions allowed: true
CrawlDb update: URL normalizing: true
CrawlDb update: URL filtering: true
CrawlDb update: Merging segment data into db.
CrawlDb update: done
...... //一共循环10次,Nutch的局域网模式采用了广度优先策略,把二级页面抓取完成以后,进行三级页面抓取。
LinkDb: starting //进行网页链接关系分析
LinkDb: linkdb: crawl10/linkdb
LinkDb: URL normalize: true //规范化
LinkDb: URL filter: true //根据crawl-urlfilter.txt来过滤
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102201
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102453
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904102841
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904104322
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904113511
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904132510
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904153615
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904175052
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904194724
LinkDb: adding segment: /user/nutch/crawl10/segments/20080904211956
LinkDb: done //链接分析完毕
Indexer: starting //开始创建索引
Indexer: linkdb: crawl10/linkdb
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102201
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102453
Indexer: adding segment: /user/nutch/crawl10/segments/20080904102841
Indexer: adding segment: /user/nutch/crawl10/segments/20080904104322
Indexer: adding segment: /user/nutch/crawl10/segments/20080904113511
Indexer: adding segment: /user/nutch/crawl10/segments/20080904132510
Indexer: adding segment: /user/nutch/crawl10/segments/20080904153615
Indexer: adding segment: /user/nutch/crawl10/segments/20080904175052
Indexer: adding segment: /user/nutch/crawl10/segments/20080904194724
Indexer: adding segment: /user/nutch/crawl10/segments/20080904211956
Indexer: done //索引创建完毕
Dedup: starting //风页去重
Dedup: adding indexes in: crawl10/indexes
Dedup: done
merging indexes to: crawl10/index //索引合并
Adding /user/nutch/crawl10/indexes/part-00000
Adding /user/nutch/crawl10/indexes/part-00001
Adding /user/nutch/crawl10/indexes/part-00002
Adding /user/nutch/crawl10/indexes/part-00003
done merging //合并完毕
crawl finished: crawl10 //入口注入、循环下载、链接分析、建立索引、去重、合并
抓取程序自动在用户根目录(/user/nutch)下面建立了crawl10目录,可以看到crawldb,segments,index,indexs,linkdb目录,
1)crawldb目录下面存放下载的URL,以及下载的日期,用来页面更新检查时间。
2)linkdb目录存放URL的关联关系,是下载完成后分析时创建的,通过这个关联关系可以实现类似google的pagerank功能。
3)segments目录存储抓取的页面,下面子目录的个数与获取页面的层数有关系,我指定-depth是10层,这个目录下就有10层。
里面有6个子目录
content,下载页面的内容
crawl_fetch,下载URL的状态内容
crawl_generate,待下载的URL的集合,在generate任务生成时和下载过程中持续分析出来
crawl_parse,存放用来更新crawldb的外部链接库
parse_data,存放每个URL解析出来的外部链接和元数据
parse_text,存放每个解析过的URL的文本内容
4)index目录存放符合lucene格式的索引目录,是indexs里所有的索引内容合并后的完整内容,看了一下这里的索引文件和用lucenedemo做出来的文件名称都不一样,待进一步研究
5)indexs目录存放每次下载的索引目录,存放part-0000到part-0003
crawl流程和工作目录搞清楚了,大家可以进一步拜读一下nutch源码。进一步搞清楚各个目录下面的文件作用,以及文件格式。待续!
发表评论
-
Nutch1.0开源搜索引擎与Paoding在eclipse中用plugin方式集成(终极篇)
2009-09-14 13:15 4290本文主要描述的是如何将paoding分词用plugi ... -
Nutch1.0的那些事
2009-09-10 12:37 2157很久没有更新博客了,应该快一年了。现在呢,我把去年 ... -
配置linux服务器之间ssh不用密码访问
2008-11-05 13:55 3877在配置nutch的时候,我 ... -
搜索引擎术语
2008-10-15 15:30 2506最近monner兄共享了一篇 ... -
搜索引擎机器人研究报告
2008-10-13 15:35 1902从该文对googlebot的分析看,googlebot似乎是想 ... -
搜索引擎算法研究
2008-10-13 15:11 20951.引言 万维网WWW(World Wide Web ... -
谁说搜索引擎只关注结果-看我viewzi的72变
2008-10-04 20:15 1801搜索引擎给大家的感觉,就是用起来简单,以google为首,一个 ... -
《Lucene+Nutch搜索引擎》看过以后。。。
2008-10-03 23:42 7605研究搜索引擎技术快一 ... -
微软有趣的人物关系搜索引擎——人立方
2008-10-03 20:00 3904最近,微软亚洲研究院 ... -
Nutch开源搜索引擎增量索引recrawl的终极解决办法(续)
2008-09-28 19:30 3447十一要放假了,先祝广大同学们节日快乐! 在之前的一篇文章中, ... -
Nutch:一个灵活可扩展的开源web搜索引擎
2008-09-28 11:46 2227在网上找到一篇于2004年11月由CommerceNet La ... -
Google公司都是些什么牛人?
2008-09-27 17:31 2024Google公司都是些什么牛人? 1 Vi ... -
搜索引擎名人堂之Doug Cutting
2008-09-27 11:41 2601Doug Cutting是一个开源搜索技术的提倡者和创造者。他 ... -
Nutch开源搜索引擎增量索引recrawl的终极解决办法
2008-09-26 19:12 5138本文重点是介绍Nutch开源搜索引擎如何在Hadoop分布式计 ... -
Nutch开源搜索引擎与Paoding中文分词用plugin方式集成
2008-09-26 15:31 4572本文是我在集成中文分词paoding时积累的经验,单独成一篇文 ... -
关于Hadoop的MapReduce纯技术点文章
2008-09-24 18:10 3476本文重点讲述Hadoop的整 ... -
MapReduce-免费午餐还没有结束?
2008-09-24 09:57 1459Map Reduce - the Free Lunch is ... -
搜索引擎名人堂之Jeff Dean
2008-09-22 15:09 14914最近一直在研究Nutch,所以关注到了搜索引擎界的一些名人,以 ... -
Lucene于搜索引擎技术(Analysis包详解)
2008-09-22 14:55 2186Analysis 包分析 ... -
Lucene与搜索引擎技术(Document包详解)
2008-09-22 14:54 1692Document 包分析 理解 ...
相关推荐
[硕士论文]_基于Nutch的垂直搜索引擎的分析与实现.pdf 一个例子学懂搜索引擎(lucene).doc 中文搜索引擎技术揭密.doc 九大开源搜索引擎介绍.txt 基于Nutch的搜索引擎技术.pdf 基于开源工具搭建小型搜索引擎.pdf 整合...
Nutch开源搜索引擎增量索引recrawl的终极解决办法续
Nutch开源搜索引擎增量索引recrawl的终极解决办法
为您提供Apache Nutch 开源搜索引擎下载,Nutch的创始人是Doug Cutting,他同时也是Lucene、Hadoop和Avro开源项目的创始人。Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本...
Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 nutch 1.0
为您提供Apache Nutch 开源搜索引擎下载,Nutch的创始人是Doug Cutting,他同时也是Lucene、Hadoop和Avro开源项目的创始人。Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本...
Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)
基于Nutch的搜索引擎系统的研究与实现
Lucene+Nutch搜索引擎开发
Nutch是一个优秀的开放源代码的Web...分析开源搜索引擎Nutch代码,研究了Nutch的页面排序方法。在Nutch原有的结构基础上提出了3种修改Nutch 排序的方法,对每种方法的实现进行了阐述,最后对这些方法的特点进行了比较
开源搜索引擎的比较,Lucene Nutch Heritrix Weblech等
nutch框架详细介绍,基本概念,功能模块,搭建方法
学习Lucene和Nutch的入门书籍,学习搜索引擎开发值得一看的书籍
1.1 Nutch 基本原理 1.1.1 Nutch 基本组成 1.1.2 Nutch 工作流程 1.2 Nutch 流程详解 1.2.1 Nutch 数据流程 1.2.2 Nutch 流程分析
完整的《Lucene+nutch搜索引擎开发》PDF版一共83.6M,无奈我上传的最高限是80M,所以切成两个。这一个是主文件,还需要下载一个副文件Lucene+nutch搜索引擎开发.z01。解压时直接放到一起,解压这个主文件就行了。
Lucene nutch 搜索引擎开发 Part1
licene 实例代码 nutch实例代码 lucene+nutch搜索引擎开发实例代码(王学松版)
Lucene nutch 搜索引擎 开发 实例 源码 里面包含了Lucene的使用源码 以及nutch使用的源码 还有spider的使用源码 例子的注释比较详细~适合初学者
《Lucene+nutch搜索引擎开发》书附带的源代码