基于Nutch的搜索引擎实现
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
摘 要
搜索引擎是为满足人们网络信息搜索应运而生的网络工具,它是互联网信息查询的导航针,是沟通用户与网络信息的桥梁。然而,随着网上内容的爆炸式增长和内容形式花样的不断翻新,搜索引擎越来越不能满足挑剔的网民们的各种搜索需求,尽管Web搜索是漫游Internet的基本要求, 并且现有web搜索引擎的数目却在下降。 这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益。于是强有力的搜索工具成为这些网民们的渴盼。作为Apache开源子项目,Nutch 提供完整的搜索引擎框架,在对全文进行索引的时候,索引部分采用了开源工具包Lucene进行全文索引。通过对Nutch的二次开发,我们可以利用它强大的网络资源采集功能对网络资源进行采集,并加工进入本地库,最后让用户直接面对有效的信息。
本文重点讨论搜索引擎原理,基于Nutch的搜索引擎的实现架构,同时网页抓取过程做了深入的研究和分析;最后,对在早期Nutch的版本的基础上如何更好的支持中文,实现中文分词搜索给出问题的解决方案,并对基于Nutch的搜索引擎的应用进行了讨论。 think58.com
[资料来源:http://think58.com]
关键词:搜索引擎,抓取器,Nutch,中文分词
搜索引擎的现状
1.2.1搜索引擎的发展历史
随着信息技术的不断发展,特别是互联网应用的迅速普及,电子信息爆炸式地丰富起来,目前,仅Google收录的网页就超过了80亿,并且每天全球互联网页面数目以千万级别的数量增加,要在浩如烟海的网络信息海洋中自如冲浪,搜索引擎已经成为必不可少的利器。自1994年至今,伴随着英特网的日益发展壮大以及Web信息量地迅速膨胀,Web搜索引擎技术为了不断满足人们对Web信息检索的需求,已经经历了三代发展阶段[8]:
第一代搜索引擎出现于1994年,以集中式见所为主要特征,这类搜索引擎
一般都索引少于1百万个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间,在实现技术上也基本沿用较为成熟地IR(Information Retrieval),网络,数据库等技术,相当利用于利用一些已有的技术实现的一个WWW杀害上的应用。
第二代搜索引擎系统大约出现在1996年,大多采用分布式检索方案,即多个微型计算机协同工作来提高数据规模,响应速度和用户数量。他们一般都保持一个大约5千万网页的索引数据库,每天能够响应1千万次用户检索请求。
第三代搜索引擎系统出现在1998年到2000年期间,这一时期式搜索引擎空前繁荣地时期。第三代搜索引擎的发展有如下几个特点:
[资料来源:http://www.THINK58.com]
(1) 索引数据库的规模继续增大,一般的商业搜索因情窦保持在几千万甚至上亿个网页。
(2) 除了一般意义上地搜索以外,开始出现主题搜索和地域搜索。很多小型的垂直门户站点开始使用该技术。
(3) 由于搜索返回数据量过大,检索结果相关度评价成为研究地焦点。相关地研究又可以分两类:一类是对超文本链的分析,在这方面始于Stanford大学的Google系统作出了很大的贡献;另一类是用户信息的反馈,DirectHit系统采用的就是这种方法。
(4) 开始使用自动分类技术。Norghern Light和Inktomi的DirectoryEngine都在一定程度上使用了该技术。
进入了21世纪后,随着信息多元化的增长,千篇一律的给又用户同一个入口显然已经不能满足特定用户更深入的查询需求同时,这样的通用搜索引擎在目前的硬条件下,要及时更新以得到互联网上较全面信息是不太可能的。针对这种情况,分类细致,精确,数据全面深入,更新及时的面向主题的搜索引擎出现了。由于主题搜索运用了人工分类以及特征提取等智能化策略,因此它比上面提到的前三代的搜索引擎将更加有效和准确,我们将这类完善的主题搜索引擎称为的时代搜索引擎。
1.2.2搜索引擎的分类
按照信息搜集方法和服务提供方式的不同搜索引擎系统可以分为三大类:
think58
[资料来源:http://www.THINK58.com]
目录式搜索引擎:以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中。信息大多面向网站,提供目录浏览服务和直接检索服务。该类搜索引擎因为加入了人的智能,所以信息准确,导航质量高,缺点是需要人工介入,维护量大,信息量少,信息更新不及时。目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是安目录分类的网站链接列表而已。用户完全可以不用关键词查询,仅靠分类目录也可以找到需要的信息。国外比较著名的目录索引搜索引擎有yahoo(www.yahoo.com),Open Directory Project(DMOZ)(www.dmoz.com), LookSmart (www.looksmart.com)等。国内的搜狐(www.sohu.com),新浪(www.sina.com),网易(www.163.com),网址之家(www.hao123.com)等也都具有这一类功能。
(2)机器人搜索引擎[9]:由一个称为网络蜘蛛(Web Spider)的机器人程序以某种策略自动在互联网中搜集和发现信息,由索引器(Indexer)为搜集到的信息建立索引,由检索器(Searcher)根据用户的查询输入检索索引库,并将查询结果返回给用户。服务方式时面向网页的全文检索服务。该类搜索引擎的优点是信息量大,更新及时,毋需人工干预,缺电视返回信息过多,有很多无关的信息,用户必须进行筛选。机器人搜索引擎也称全文搜索引擎,它是名副其实的搜索引擎,国外具有代表性的有Google (www.google.com), yahoo (serch.yahoo.com) , AllTheWeb (www.alltheweb.com)等。国内著名的有百度(www.baidu.com),中搜(www.zhongsou.com),搜狗(www.sougou.com)等。他们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的索引数据库,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,也是目前常规意义上的搜索引擎。
内容来自think58 [资料来源:http://www.THINK58.com]
(3)元搜索引擎:这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除,重新排序等处理后,作为自己的结果返回给用户。服务方式为面向网页的全文检索。这类搜索引擎的优点是返回结果的信息量更大,更全,缺点是不能够充分使用所使用搜索引擎的功能,用户需要做更多的筛选。元搜索引擎再接受用户查询请求时,同时再其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有Dogpile(www.dogpile.com),综合了Google,Yahoo Search,MsnSearch的搜索结果,Vivisimo(www.vivisimo.com)等。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,入Dogpile,有的则按自定的规则将结果重新排列组合,如Vivisimo。
think58.com [资料来源:http://THINK58.com]
[资料来源:http://THINK58.com]