整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

16.3 Nutch搜索引擎 16.3.1背景介绍

hadoop 花牛 15℃ 0评论

Nutch这个框架用于构建可扩展的网络爬虫(crawler)和搜索引擎。它是 Apache 软件基金会(Apache Software Foundation)的一个项目,Lucene 的一 个子项目,遵循Apache 2.0许可。

我们不会深入地细究网络爬虫的识一一这个案例研究的目的是为了展示 Hadoop是如何实现搜索引擎各种典型、复杂处理任务的。感兴趣的用户可 以在Nutch官方主页(http://lucene.apache.org/butch)找到项目相关的大量信息。可以这样说,为了创建和维护一个搜索引擎,必须要有下面几个子系统。

 网页数据库 这个数据库监控网络爬虫要抓取的所有网页和它们的 状态,如上一次访问的时间,它的抓取状态信息,刷新间隔,内容 校验和,等等。用Ndtch的术语来说,这个数据库称为CrawlDb

• 爬取网页清单 网络爬虫定期刷新其Web视图信息,然后下载新 的网页(以前没有抓取的)或刷新它们认为已经过期的网页。这些准 备爬取的候选网页清单,Nutch称为fetchlist

• 原始网页数据 网页内容从远程网站下载,以原始的未解释的格式 在本地存储成字节数组。Nutch称这种数据为page content

• 解析的网页数据 网页内容用适合的解析器进行解析,Nutch为各 种常见格式的文档提供了解析器,如HTML, PDF, Open OfficeMicrosoft Office,RSS 等。

• 链接图数据库 对于计算基于链接(link)的网页排序(page rank)值来 说,如PageRank,这个数据库是必须的。对于Nutch记录的每一 个URL,它会包含一串指向它的其他的URL值以及这些URL关 联的锚文本(HTML文件的<a href="..">锚文本</3>元素中得 到)。这个数据库称为LinkDb。

• 全文检索索引 这是一个传统的倒排索引,基于搜集到的所有网页 元数据与抽取到的纯文本内容而建立。它是使用性能优越的 Lucene (http://lucene.apache.org/java)来实现的。

前面我们简单提到Hadoop作为个组件在Nutch系统上得到实现,试图用 它提高Nutch系统的可扩展性以及解决那些由集中式数据处理模型引起的 一系列瓶颈问题。Nutch也是第一个构建在后来称之为Hadoop的架构之上 的公开应用,并且事实证明,把Nutch算法和数据结构移植到Hadoop架构 所需的工作量非常少。这一特点有可能激励大家把Hadoop的开发作为一个子项目,为类似Nutch的其他应用提供可重用的架构。

目前,几乎所有的Nutch工具都通过运行一个或多个MapReduce作业来处 理数据。

转载请注明:全栈大数据 » 16.3 Nutch搜索引擎 16.3.1背景介绍

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址