Hadoop是大数据的核心技术之一,而Nutch集Hadoop之大成,是Hadoop的源头。学习Hadoop,没有数据怎么办?用Nutch抓!学了Hadoop的Map Reduce以及HDFS,没有实用案例怎么办?学习Nutch!Nutch的很多代码是用Map Reduce和HDFS写的,哪里还能找到比Nutch更好的Hadoop应用案例呢?
课程背景:Nutch诞生于2002年8月,是Apache旗下的一个用Java实现的开源搜索引擎项目,自Nutch1.2版本之后,Nutch已经从搜索引擎演化为网络爬虫,接着Nutch进一步演化为两大分支版本:1.X和2.X,最大的区别在于2.X对底层的数据存储进行了抽象以支持各种底层存储技术。在Nutch的进化过程中,产生了Hadoop、Tika和Gora三个Java开源项目。如今这三个项目都发展迅速,极其火爆,尤其是Hadoop,其已成为大规模数据处理的事实上的标准。Tika使用多种现有的开源内容解析项目来实现从多种格式的文件中提取元数据和结构化文本,Gora支持把大数据持久化到多种存储实现。
课程大纲:
1、Nutch是什么?
Nutch是Apache旗下的Java开源项目,最初是一个搜索引擎,现在是一个网络爬虫。
2、Nutch的设计初衷?
商业搜索引擎不开源,搜索结果不纯粹是根据网页本身的价值进行排序,而是有众多商业利益考虑。Nutch提供了开源的解决方案,帮助人们很容易地建立一个搜索引擎,为用户提供优质的搜索结果,并能从一台机器扩展到成百上千台。
3、为什么要学习Nutch?
搜索技术是信息时代的必备技术之一,没有搜索功能的软件是无法想象的,而搜索引擎是搜索技术的集大成者。通过Nutch的学习,可以对百度、谷歌这样的搜索巨头的内部机制有所了解,并能根据自己的需要打造适合自己的搜索引擎,当然,也可以把搜索技术应用到几乎所有的软件开发中
4、Nutch的设计目标 ?
每个月抓取几十亿网页
为这些网页维护一个索引
对索引文件执行每秒上千次的搜索
提供高质量的搜索结果
以最小的成本运作
5、Nutch的发展历程?
11年发展历程,3大分支版本
强调重用,诞生了Java开源项目Hadoop、Tika、Gora
不重新发明轮子,使用了大量第三方开源项目
6、Nutch的整体架构?
插件机制、数据抓取、数据解析、链接分析、建立索引、分布式搜索等。
对于一个搜索引擎来说,最终可能由成百上千台服务器组成,然而,初创公司最初可能只有几台机器作为尝试,随着公司的发展逐步增加机器,因此,线性可扩展的分布式存储与分布式计算是至关重要的。
Nutch参考了Google的两篇论文:MapReduce计算模型以及GFS存储模型,并做了实现,后来把这两大部分剥离出来形成独立的开源项目Hadoop。由此可知,Hadoop诞生于Nutch,核心由分布式计算和分布式存储组成,是MapReduce和GFS的JAVA开源实现。
Nutch使用HDFS作为存储实现一直持续了很多年,然而使用HDFS有许多限制,后来考虑对存储层进行抽象,剥离并形成了新的开源项目Gora,以支持多种存储技术,包括RDBMS和NoSQL。
对于搜索引擎来说,需要抓取各种各样的文件,解析这些不同格式的文件是一个难题,为了简化设计,也为了重用,于是诞生了Tika,一个专为内容分析而诞生的工具箱。
7、Nutch 3大分支版本?
Nutch1.2是一个完整的搜索引擎
Nutch1.7是一个基于HDFS的网络爬虫
Nutch2.2.1是一个基于Gora的网络爬虫
1.X系列可用于生产环境、2.X系列还不成熟
8、Nutch的应用领域?
站内搜索引擎、全网搜索引擎、垂直搜索引擎、数据采集
9、nutch的使用?
一些具体的实践方法及演示
讲师介绍:
杨尚川,系统架构设计师,系统分析师,2013年度优秀开源项目APDPlat发起人,资深Nutch搜索引擎专家。多年专业的软件研发经验,从事过管理信息系统(MIS)开发、移动智能终端(Win CE、Android、Java ME)开发、搜索引擎(nutch、lucene、solr、elasticsearch)开发、大数据分析处理(Hadoop、Hbase、Pig、Hive)等工作。目前为独立咨询顾问,专注于大数据、搜索引擎等相关技术,为客户提供Nutch、Lucene、Hadoop、Solr、ElasticSearch、HBase、Pig、Hive、Gora等框架的解决方案、技术支持、技术咨询以及培训等服务。
相关推荐
Nutch:从搜索引擎到网络爬虫。中文。
Nutch公开课从搜索引擎到网络爬虫. 很好的介绍了关于Nutch的发展,使用等一些情况
nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据nutch 爬虫数据
java写的搜索引擎网络爬虫 可以用来爬镜像网站 可以根据配置抓取JAVASCRIPT连接 等等。
[硕士论文]_基于Nutch的垂直搜索引擎的分析与实现.pdf 一个例子学懂搜索引擎(lucene).doc 中文搜索引擎技术揭密.doc 九大开源搜索引擎介绍.txt 基于Nutch的搜索引擎技术.pdf 基于开源工具搭建小型搜索引擎.pdf 整合...
然后以开发一个基于 Nutch 的实际应用为例向读者展示如何使用 Nutch 开发自己的搜索引擎。在该示例中,首先带领读者开发一个作为 Nutch 爬虫抓取的目标网站,目标网站将被部署在域名为 myNutch.com 的服务器上。然后...
Nutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdfNutch分布式网络爬虫研究与优化.pdf
Lucene+Nutch搜索引擎开发
Nutch是一个开源的网络爬虫框架,由Apache基金会开发和维护。它能够高效地抓取并处理海量数据,并提供了丰富的插件来支持各种数据源和处理方式。由于其高度可定制化和易于扩展的特性,Nutch被广泛应用于搜索引擎、...
学习Lucene和Nutch的入门书籍,学习搜索引擎开发值得一看的书籍
Nutch搜索引擎·Nutch简介及安装(第1期) Nutch搜索引擎·Solr简介及安装(第2期) Nutch搜索引擎·Nutch简单应用(第3期) Nutch搜索引擎·Eclipse开发配置(第4期) Nutch搜索引擎·Nutch浅入分析(第5期)
完整的《Lucene+nutch搜索引擎开发》PDF版一共83.6M,无奈我上传的最高限是80M,所以切成两个。这一个是主文件,还需要下载一个副文件Lucene+nutch搜索引擎开发.z01。解压时直接放到一起,解压这个主文件就行了。
nutch框架详细介绍,基本概念,功能模块,搭建方法
因此,本文在开源的Nutch 搜索引擎架构的基础, 通过构建电力行业词典,利用改进的空间向量算法对抓取内容的相关度进行计算,并对相关内容进行过滤,结合主流的PageRank算法对搜索结果综合排序,并嵌入访问控制模块...
licene 实例代码 nutch实例代码 lucene+nutch搜索引擎开发实例代码(王学松版)
Lucene nutch 搜索引擎 开发 实例 源码 里面包含了Lucene的使用源码 以及nutch使用的源码 还有spider的使用源码 例子的注释比较详细~适合初学者
Nutch是一个优秀的开放源代码的Web搜索引擎。虽然Nutch的页面排序方法比较合理,但是很多情况下仍然不能 满足需要。分析开源搜索引擎Nutch代码,研究了Nutch的页面排序方法。在Nutch原有的结构基础上提出了3种修改...