Nutch爬虫剖析.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nutch搜索引擎 简介 Nutch 是一个基于 Java 实现的开源搜索引擎,其内部使用了高性能全文索引引擎工具 Lucene。从 nutch0.8.0开始,Nutch 完全构建在 Hadoop 分布式计算平台之上。Hadoop 除了是一个分布式文件系统外,还实现了 Google 的 GFS 和 MapReduce 算法。因此基于 Hadoop 的 Nutch 搜索引擎可以部署在由成千上万计算机组成的大型集群上。由于商业搜索引擎允许竞价排名,这样导致索引结果并不完全是和站点内容相关的,而 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 搜索引擎架构图 安装 注:我们服务器上使用Hbase是0.98版本,安装所使用的nutch-2.2.1使用gora-0.3持久化到Hbase中。但gora-0.3支持Hbase-0.90,最高支持Hbase-0.92。所以安装该搜索引擎时,使用常用的MySQL来进行数据储存,进行清洗后,也可使用Sqoop存储到Hbase中。 框架 Nutch-2.2.1 + solr-4.10.4 + mysql Nutch 对应位置 :dsj02:/root/herry/nutch/nutch-2.2.1 Solr对应位置 :直接使用现有的solr集群 一、 解压nutch 后,修改目录下 ivy/ivy.xml文件 将取消以下行注释 修改默认gora版本,改为0.2.1 二、 修改 目录下 conf/ perties 数据库连接文件 三、 新增nutch 配置文件 将 conf/nutch-default.xml默认配置文件进行复制,并更名为 nutch-site.xml 增加值(必须要有!)。 property name/name valueYourNutchSpider/value /property property namegenerate.batch.id/name value*/value /property 在文件末尾添加 property namehttp.accept.language/name valueja-jp, en-us,en-gb,en;q=0.7,*;q=0.3/value descriptionValue of the Accept-Language request header field. This allows selecting non-English language as default one to retrieve. It is a useful setting for search engines build for certain national group. /description /property property namestorage.data.store.class/name valueorg.apache.gora.sql.store.SqlStore/value descriptionThe Gora DataStore

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档