Nutch总结

6 篇文章 0 订阅
3 篇文章 0 订阅

Nutch一些常用的命令:

抓取 

bin/nutch  crawl urls -dir <dir> -depth <int> -topN <int> -threads <int> >& <dir>/<file> .log 

steps in 
1.读取urls目录下的站点添加 crawldb里 
bin/nutch  inject <dir>/crawldb urls 
2.创建一个segments,存放 目录下 
bin/nutch  generate <dir>/crawldb <dir>20090519/segments 
3.根据文件夹下生成的下载列表获取页面内容 
bin/nutch  fetch <dir>/segments/<newdir>/ 
4.从已下载的的段数据列表里获取URL链接,更新crawldb内容 
bin/nutch  updatedb dir/crawldb dir/segments/newdir 
5.分析链接关系,生成反向链接 
bin/nutch  invertlinks dir/linkdb -dir dir/segments 
6.创建页面内容索引 
bin/nutch  index dir/indexes dir/crawldb dir/linkdb dir/segments/newdir 
7.删除重复数据 
bin/nutch  dedup dir/indexes 
8.合并索引文件 
bin/nutch  merge dir/index dir/indexes 

读取命令 (d for <dir>, w for a website url)
1.查看crawldb数据库 :bin/nutch  readdb dir/crawldb/ -stats 这个命令可以查看url地址总数和它的状态及评分。 
  导出 权重和相关的url信息:bin/nutch  readdb d/crawldb/ -topN 20 urldb(out_dir) 
  查看每个url地址的详细内容,导出 数据:bin/nutch  readdb d/crawldb/ -dump crawldb(out_dir) 
  查看具体的url:bin/nutch  readdb d/crawldb/ -url w
2.查看linkdb数据库 的链接情况:bin/nutch  readlinkdb d/linkdb/ -url w 
  导出 linkdb数据库 文件:bin/nutch  readlinkdb d/linkdb/ -dump linkdb(out_dir) 
3.查看segments:bin/nutch  readseg -list -dir d/segments/ 可以看 每一个segments的名称,产生的页面数,抓取的开始时间和结束时间,抓取数和解析数。 
导出 segments:bin/nutch  readseg -dump d/segments/nd segdb(out_dir) 

man:输入bin/nutch 查看

Nutch结构

Nutch 搜索引擎是一个基于 Java 的开放源代码的搜索引擎。Nutch 搜索引擎处理流程包括抓取流程和搜索流程,如图 1 所示。相应地 Nutch 也分为2部分,抓取器和搜索器。 在抓取流程中,抓取器也叫蜘蛛或者机器人,以广度优先搜索(BFS)的方式从企业内部网或者互联网抓取网页。这个过程涉及到对 CrawlDB 和 LinkDB 数据库的操作。然后 Nutch 解析器开始解析诸如 HTML、XML、RSS、PDF等不同格式的文档。最后 Nutch 索引器针对解析结果建立索引并存储到 indexDB 和 SegmentsDB 数据库中,以供搜索器搜索使用。 
在搜索流程中,搜索应用使用输入关键词调用 Nutch 搜索接口(Nutch Query Interface)。应用可通过网页上的输入框输入相应关键词。搜索接口解析搜索请求为 Lucene 全文检索引擎可以识别的格式。Nutch 索引器将会调用 Lucene 引擎来响应请求在 indexDB 上展开搜索。最后搜索接口收集从索引器返回的URL、标题、锚和从 SegmentsDB 返回的内容。所有上述内容将被提供给排序算法进行排序。排序完成后,搜索接口将返回命中的搜索结果。 由于构建在 Hadoop 分布式文件系统之上, Nutch 对CrawlDB, LinkDB, SegmentsDB 和 IndexDB 数据库的操作都是通过调用 M/R(map/reduce) 函数完成的。这使得 Nutch 具有了集群扩展能力。

 
图 1 Nutch搜索引擎架构图 






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值