`

nutch 01 认识nutch

阅读更多

1.1 什么是nutch
nutch 就一个开源的java 实现的搜索引擎,它提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和web爬虫。现在的nutch 的发展趋势是网络爬虫,全文搜索是用lucene的内核,nutch 是lucene的一个子项目,apache 又从nutch项目里面产生了hadoop,tika,gora等其他子项目,其实就是对一些公共模块的封装,重用,然后起个名字,实现松耦合。

1.2 学nutch的原因
     1,透明性:nutch是开放源代码的,排序算法是公平,透明,没有商业因素,如百度竞价排名等。】
      2,理解搜索引擎:我们没有google的源代码,所以学习nutch有助于我们学习搜索引擎,nutch在写的过程中从学院派和工业派借鉴了很多知识,比如:nutch的核心已经被MapReduce重新实现了,MapReduce是一个分布式的处理模型,最先是从google实验室提出来的,
      3,nutch的扩展性也很好。
1.3 nutch的目标
      让每个人都可以花很少的时间,配置世界上一流的web搜索引擎,所以nutch必须要做到:
          1,每月取几十亿网页。
          2,为这些网页维护一个索引。
          3, 对索引文件进行每秒上千万次的搜索。
          4,提供高质量的搜索结果。
          5,最小成本运行。
1.4 nutch vs lucene
        lucene 不是完整的应用程序,而是实现全文检索的应用程序。
        nutch 是一个应用程序,可以以lucene为基础实现搜索引擎的应用。lucene 为nutch提供了文本索引和搜索的api 。一句话总结nutch抓取数据,用lucene建立索引,提供搜索服务。
1.5 nutch 的发展历程
2002年8月由Doug Cutting发起,托管于Sourceforge,之后发布了0.4、0.5、0.6三个版本
2004年9月Oregon State University(俄勒冈州立大学)采用Nutch
2004年9月Creative Commons(知识共享)推出基于Nutch的搜索服务
2005年1月加入Apache的孵化器
2005年6月孵化结束成为Lucene的子项目
2005年8月发布版本0.7( Apache Lucene sub-project)
2005年10月发布版本0.7.1
2006年3月发布版本0.7.2
2006年7月发布版本0.8(全新的架构,基于Hadoop 0.4 ,Hadoop诞生)其实就是封装常用功能,降低耦合度,起一个新名字。
2006年9月发布版本0.8.1
2007年4月发布版本0.9
2009年3月发布版本1.0(Tika诞生,0.1-incubating)
2010年4月Nutch成为Apache顶级项目
2010年6月发布版本1.1
2010年9月发布版本1.2
2011年6月发布版本1.3( 从搜索引擎到网络爬虫)发展趋势有了小改变。
2011年11月发布版本1.4
2012年6月发布版本1.5

从下面开始有了两个发展方向,1开头的沿着就有的方向发展,2开头的开始孵化出一些新的技术。
2012年7月发布版本2.0( 2.X  Gora诞生,table-based architecture )
2012年7月发布版本1.5.1
2012年8月Nutch诞生十周年
2012年10月发布版本2.1( 2.X开始支持elastic search )
2012年12月发布版本1.6
2013年6月发布版本2.2(crawler-commons 诞生)
2013年6月发布版本1.7(crawler-commons 诞生)
2013年7月发布版本2.2.1
1.6 相关项目的解释
  hadoop  一个分布式系统基础架构,实现了一个分布式文件系统(hadoop distributed file system HDFS)它有着高容错性,并且用来部署在低廉的机器上,提供高传输率来访问应用程序的数据,适合那些有超大数据集的应用程序。
  tika 利用现有的解析类库,从不同格式的文档中(如:html,pdf,docx...)侦测和提取出元数据和结构化内容。功能包括:侦测文档类型,字符编码,语言等其他文档属性,提取结构化的文档文字内容,
  gora 是一个开源的ORM框架,主要为大数据提供内存数据模型与数据的持久化,目前,Gora支持对于列数据,key-value数据,文档数据,RDBMS数据的存储,还支持使用hadoop来对大数据进行分析。
  其实孵化出这些新的东西,是nutch在发展的时候,发现把公共的东西进行封装,起个名字,让其不仅能用于Nutch,还能用于其它项目。其实只要随便一想就知道上面这三个东西用在nutch工作流程里面的那个部分了。


                                                                                                             ---------2013 10 22 号, 今天我做到了!good job 。 世界上最残酷的事情是比你优秀的人比你还要努力。
  

 

0
5
分享到:
评论
1 楼 cphmvp 2013-11-25  
赞一个 

相关推荐

Global site tag (gtag.js) - Google Analytics