小型搜索引擎的发展小型搜索引擎主要致力于企业对于自身提供产品及服务的呈现,方便用户挑选自己所需要的产品,此类搜索引擎也随着网购热潮迅速崛起。这类搜索引擎与通用搜索引擎不同,拥有其特有的设计需求。论文网
搜索引擎的工作原理大致可以分为:
搜集信息:搜索引擎的信息搜集基本都是自动的。搜索引擎利用称为网络蜘蛛的自动搜索机器人程序来连上每一个网页上的超链接。机器人程序根据网页链到其中的超链接,从少数几个网页开始,连到数据库上所有其他网页的链接。理论上,若网页上有适当的超链接,机器人便可以遍历绝大部分网页。
整理信息:搜索引擎整理信息的过程称为“创建索引”。搜索引擎不仅要保存搜集起来的信息,还要将它们按照一定的规则进行编排。这样,搜索引擎根本不用重新翻查它所有保存的信息而迅速找到所要的资料。
接受查询:用户向搜索引擎发出查询,搜索引擎接受查询并向用户返回资料。搜索引擎每时每刻都要接到来自大量用户的几乎是同时发出的查询,它按照每个用户的要求检查自己的索引,在极短时间内找到用户需要的资料,并返回给用户。
相对于上述通用搜索引擎的工作原理,与小型搜索引擎有一定的出入。对于大部企业来说,门户网站的搜索引擎并不需要定时搜集信息,只需要在初始化时对自身数据库中用于搜索的数据进行创建索引,并在每次更新数据库时进行索引更新即可。文献综述
在小型搜素引擎飞速发展的同时,越来越多的人致力于研究和发展搜索引擎的开发技术,Lucene就是其中的代表。Lucene是由apache软件基金会支持和提供的,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。作为一个全文检索引擎,Lucene建立在传统全文检索引擎的倒排索引的基础上,拥有十分优秀的面向对象的系统架构,学习难度低,方便扩充新功能。同时它已经默认实现了一套强大的查询引擎,用户无需自己编写代码来使得系统获得强大的查询能力。利用这套全文检索引擎架构,能够十分方便地开发出令人满意的小型搜索引擎。
通过这类成熟的技术来实现的满足上述需求的小型搜索引擎,能够十分好地契合企业对于自身门户网站向用户提供的搜索功能及体验,将来必会发挥更大的作用。
分布式搜索引擎现状
为了解决集中式分布系统所带来的各种缺点,人们很早就开始了搜索引擎分布式结构的研究。自从谷歌展示了Google Lab 开发的 Map/Reduce 和 Google File System(GFS),立刻引起了世界范围内对于分布式系统的研究热潮。Hadoop就是这套分布式系统的开源实现。如今Hadoop已经日渐成熟,也已经有了许多知名用户,例如:源:自~751·论`文'网·www.751com.cn/
目前Hadoop最大的生产应用是Yahoo!的Search Webmap应用,它运行在超过10 000台机器的Linux系统集群里,Yahoo!的网页搜索查询使用的就是它产生的数据。Webmap的构建步骤如下:首先进行网页的爬取,同时产生包含所有已知网页和互联网站点的数据库,以及一个关于所有页面及站点的海量数据组;然后将这些数据传输给Yahoo!搜索中心执行排序算法。在整个过程中,索引中页面间的链接数量将会达到1TB,经过压缩的数据产出量会达到300TB,运行一个MapReduce任务就需使用超过10 000的内核,而在生产环境中使用数据的存储量超过5PB。
百度作为全球最大的中文搜索引擎公司,提供基于搜索引擎的各种产品,包括以网络搜索为主的功能性搜索;以贴吧为主的社区搜索;针对区域、行业的垂直搜索、MP3音乐搜索,以及百科等,几乎覆盖了中文网络世界中所有的搜索需求。百度对海量数据处理的要求是比较高的,要在线下对数据进行分析,还要在规定的时间内处理完并反馈到平台上。百度在互联网领域的平台需要通过性能较好的云平台进行处理,Hadoop就是很好的选择。在百度,Hadoop主要应用于以下几个方面:日志的存储和统计;网页数据的分析和挖掘;商业分析,如用户的行为和广告关注度等;在线数据的反馈,及时得到在线广告的点击情况;用户网页的聚类,分析用户的推荐度及用户之间的关联度。