1.搜索之路——Nutch与Lucene

来源:互联网 发布:域名注册服务商查询 编辑:程序博客网 时间:2024/05/20 00:52

1.搜索之路——Nutch与Lucene

1     关于搜索引擎

概念的东西网上一大堆,蛤蟆稍微提炼一下。

搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序互联网上搜集信息,在对信息进行组织处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引目录索引元搜索引擎垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。

       从概念上看,很明白,搜索引擎需要不定时的从网络去寻找新的网站,然后将其信息存储在数据块上共用户查询。

       那么各个引擎的区别在哪里呢?

全文搜索引擎从网站提取信息建立网页数据库的概念

目录索引称为:分类检索,根据搜索到网页的内容,将其网址分配到相关分类主题目录的不同层次的类目之下。

元搜索引擎接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。

集合式搜索引擎类似元搜索引擎,区别在于它并非同时调用多个搜索引擎进行搜索,而是由用户从提供的若干搜索引擎中选择。

垂直搜索引擎注于特定的搜索领域和搜索需求(如:机票搜索、旅游搜索、生活搜索、小说搜索、视频搜索、购物搜索等等),当然还有医院等。

门户搜索引擎自身既没有分类目录也没有网页数据库,其搜索结果完全来自其他搜索引擎。这个类似在其他

免费链接列表一般只简单地滚动链接条目,少部分有简单的分类目录

2     引擎发展简史

在很久很久之前,混沌初开,乾坤及定,那是企鹅还是企鹅,菊花还是一朵花。

那是互联网发展的早期,以雅虎为代表的网站分类目录查询非常流行。网站分类目录由人工整理维护,精选互联网上的优秀网站,并简要描述,分类放置到不同目录下。用户查询时,通过一层层的点击来查找自己想找的网站。也有人把这种基于目录的检索服务网站称为搜索引擎,但从严格意义上讲,它并不是搜索引擎。

1990年,加拿大麦吉尔大学(University of McGill)计算机学院的师生开发出Archie。当时,万维网(World Wide Web)还没有出现,人们通过FTP来共享交流资源。Archie能定期搜集并分析FTP服务器上的文件名信息,提供查找分别在各个FTP主机中的文件。用户必须输入精确的文件名进行搜索,Archie告诉用户哪个FTP服务器能下载该文件。虽然Archie搜集的信息资源不是网页(HTML文件),但和搜索引擎的基本工作方式是一样的:自动搜集信息资源、建立索引、提供检索服务。所以,Archie被公认为现代搜索引擎的鼻祖。

1993年2月出现Excite

1994年4月,杨致远和David Filo共同创办了Yahoo

1994年初,华盛顿大学(University of Washington )的学生Brian Pinkerton开始了他的小项目WebCrawler。

1994年7月,卡内基·梅隆大学(Carnegie Mellon University)的Michael Mauldin将John Leavitt的spider程序接入到其索引程序中,创建了Lycos。

1994年底,Infoseek正式亮相。其友善的界面,大量的附加功能,使之和Lycos一样成为搜索引擎的重要代表。

1995年,一种新的搜索引擎形式出现了——元搜索引擎(Meta Search Engine)。

1995年9月26日,加州伯克利分校助教Eric Brewer、博士生Paul Gauthier创立了Inktomi

1997年8月,Northernlight搜索引擎正式现身。它曾是拥有最大数据库的搜索引擎之一

1998年10月之前,Google只是斯坦福大学(Stanford University)的一个小项目BackRub。

1996年8月,sohu公司成立,制作中文网站分类目录,曾有“出门找地图,上网找搜狐”的美誉。

2000年1月, 李彦宏徐勇创立了百度(Baidu)公司。2001年10月22日正式发布Baidu搜索引擎,专注于中文搜索。

其中历史可能遗漏,不能一一列举,其中繁华荣辱经历的人才能明白。有些是商业失败,有些是技术淘汰。最后剩下也是大家记住的,但是这些曾存在的小公司一起推动了整个搜索行业的发展,就算我们没记住他们,历史也会记住他们的

3     关于Nutch

看了搜索引擎后,那么Nutch是什么呢?

Nutch 是一个开源Java实现的搜索引擎。它提供了运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫

Nutch相对于那些商用的搜索引擎,Nutch作为开放源代码 搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nutch没有什么需要隐瞒, 也没有 动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果.

这样就不会存在某度莆田系的问题喽。想想还是有点小激动的。

4     关于Lucene

Lucene是一个Java高性能全文索引引擎工具包可以方便的嵌入到各种实际应用中实现全文索引搜索功能。提供了一系列API,能够对文档进行预处理、过滤、分析、索引和检索排序。在保持高效和简单的特点之外,还保证了开发者可以自由定制和组合各种核心功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎应用,Lucene为Nutch 提供了文本搜索和索引的API,Nutch不仅提供搜索,而且还有数据抓取的功能。

Lucene 不是完整的应用程序,而是一个用于实现全文检索的软件库。

Nutch 是一个应用程序,可以以Lucene 为基础实现搜索引擎应用。

介绍完毕,不知道小伙伴是不是还是激情满满的呢?

那么接下去和蛤蟆一起来学习吧,并关注蛤蟆博客哈~

 

0 0