基于java小型
搜索引擎的研究与实现
摘要:随着互联网的不断普及,
网络用户从网络获取信息的需求不断的扩大,搜索引擎成了人们日常
工作学习不可缺少的工具,大量的搜索引擎应运而生,如Google、Baidu、gougou等。每个搜索引擎的侧重点不同,一方面,通用搜索引擎的覆盖率都不太高,很多局域网的信息都无法完全搜集;另一方面,通用搜索引擎的页面更新比较慢,信息的实时性、准确性都无法保证。因此,为了提高局域网内信息检索的效率,本文以小型局域网为平台,在深入研究了通用搜索引擎基本原理、架构
设计和核心技术的基础上,结合小型搜索引擎的个性化需求,构建了一个运行稳定,性能良好且具有可扩展性的小型搜索引擎
系统。
关键字:元节点搜索引擎 Ajax HtmlUnit
第一章 引言
面对海量的网络资源,搜索引擎为所有网民提供了一个大海淘金的机会,毫不夸张的说,所有的用户都可以从搜索出发到达自己想去的网上任何一个地方。因此它也成为除了电子邮件以外最多人使用的网上服务。
搜索引擎技术伴随着万维网的发展是引人注目的。搜索引擎大约经历了三代的更新发展:
第一代搜索引擎出现于1994年。这类搜索引擎一般都索引少于1,000,000个网页,极少重新搜集网页并去刷新索引。而且其检索速度非常慢,一般都要等待10秒甚至更长的时间。在实现技术上也基本沿用较为成熟的IR(Information Retrieval)、网络、数据库等技术,相当于利用一些已有技术实现的一个WWW上的应用。在1994年3月到4月,网络爬虫World Web Worm (WWWW)平均每天承受大约1500次
查询。
1996年出现的第二代搜索引擎系统大多采用分布式
方案(多个微型
计算机协同工作)来提高数据规模、响应速度和用户数量,它们一般都保持一个大约50,000,000网页的索引数据库,每天能够响应10,000,000次用户检索请求。1997年11月,当时最先进的几个搜索引擎号称能建立从2,000,000到100,000,000的网页索引。Altavista搜索引擎声称他们每天大概要承受20,000,000次查询。
2000年搜索引擎2000年大会上,按照Google公司总裁Larry Page的演讲,Google正在用3,000台运行Linux系统的个人电脑在搜集Web上的网页,而且以每天30台的速度向这个微机集群里添加电脑,以保持与网络的发展相同步。每台微机运行多个爬虫程序搜集网页的峰值速度是每秒100个网页,平均速度是每秒48.5个网页,一天可以搜集超过4,000,000网页
搜索引擎在国内外因特网领域被广泛使用,然而他的含义却不尽相同。在美国搜索引擎通常指的是基于因特网的搜索引擎,他们通过网络机器人程序收集上千万到几亿个网页,并且每一个词都被搜索引擎索引,也就是我们说的全文检索。著名的因特网搜索引擎包括First Search、Google、HotBot等。在中国,搜索引擎通常指基于网站目录的搜索服务或是特定网站的搜索服务,本人这里研究的是基于因特网的搜索技术。
第二章 搜索引擎的结构
2.1系统概述
搜索引擎是根据用户的查询请求,按照一定算法从索引数据中查找信息返回给用户。为了保证用户查找信息的精度和新鲜度,搜索引擎需要建立并维护一个庞大的索引数据库。一般的搜索引擎由网络机器人程序、索引与搜索程序、索引数据库等部分组成。
2.2搜索引擎的构成
2.2.1网络机器人
网络机器人也称为"网络蜘蛛"(Spider),是一个功能很强的WEB扫描程序。它可以在扫描WEB页面的同时检索其内的超链接并加入扫描队列等待以后扫描。因为WEB中广泛使用超链接,所以一个Spider程序理论上可以访问整个WEB页面。