[摘要]随着信息技术的发展,网络的迅速普及,搜索引擎在网络用户的生活中扮演着越来越重要的地位,本文就爬虫式的搜索引擎、目录搜索引擎和元搜索引擎做了详尽的分析比较,并对目前的搜索引擎的特点进行了描述。
[关键词]搜索引擎 分类 爬虫 元搜索引擎
目前internet上的搜索引擎按其工作方式主要可分为三种,分别是爬虫式的搜索引擎(spider based search engine),目录搜索引擎(search directory)和元搜索引擎(meta search engine)。
一、爬虫式的搜索引擎
基于爬虫(也叫spider)的搜索引擎利用一个称为spider的程序自动访问web站点,提取站点上的网页,并根据网页中的链接进一步提取其它网页或转移到其它站点上。robot搜集的网页被加入到搜索引擎的数据库中供用户查询使用。基于spider的搜索引擎山三个主要部分构成spider, index和搜索软件。爬虫从一个事先制定好的urls列表出发,这个列表中的urls通常是从以往访问记录中提取出来的,特别是一些热门站点和“what's new”网页,从usenet等地方检索得到的urls也常被用作起始urls,很多搜索引擎还接受用户提交的urls,这些urls也会被安排在列表中供爬虫问列表中,如此递归地访问web。
爬虫作为一个程序,可以用c, perl, java等语言来编写,可以运行在unix, solaris, windows, nt, os2和mac等平台上。wWw.133229.Com爬虫设计是否合理将直接影响它访问web的效率,影响搜索数据库的质量,另外在设计爬虫时还必须考虑它对网络和被访问站点的影响,因为爬虫一般都运行在速度快,带宽高的主机上,如果它快速访问一个速度比较慢的目标站点,就有可能会导致该站点出现阻塞甚至当机。robot还应遵守一些协议,以便被访问站点的管理员能够确定哪些内容能被访问,哪些不能。index是一个庞大的数据库,爬虫提取的网页将被放入到index中以便建立索引,不同的搜索引擎会采取不同方式来建立索引,有的对整个html文件的所有单词都建立索引,有的只分析html文件的标题或前几段内容,还有的能处理html文件中的meta标记或其它小可见的特殊标记。当用户查询一个关键词时,搜索软件将搜索index,找出所有与关键词相符合的网页,有时候这些网页可能有成千上万,等级值的用途就是作为一种排序的依据,搜索软件将按照等级值从高到低的顺序把搜索结果送回到用户的浏览器中。
这类搜索引擎因为依靠程序搜集数据,所以其数据库相当庞大,搜索的结果查全率较高,但查准率较低。例如著名的搜索引擎google, baidu,a1tavista, infoseek等。
二、目录搜索引擎
目录搜索引擎的数据库是依靠专职编辑或志愿人员建立起来的,这些编辑人员在访问了某个web站点后撰写一段对该站点的描述,并根据站点的内容和性质将其归为一个预先分好的类别,把站点的url和描述放在这个类别中,当用户查询某个关键词时,搜索软件只在这些描述中进行搜索。很多目录也接受用户提交的网站和描述,当目录的编辑人员认可该网站及描述后,就会将之添加到合适的类别中。目录的结构为树形结构,首页提供了最基本的几个大类的入口,用户可以一级一级地向下访问,直至找到自己感兴趣的类别,另外,用户也可以利用目录提供的搜索功能直接查找一个关键词。不过,由于目录式搜索引擎只在保存了对站点的描述中进行搜索,因此站点本身的动态变化不会反映到搜索结果中来,这也是目录式搜索引擎与基于robot的搜索引擎之间的一大区别。
三、元搜索引擎
元搜索引擎也叫做multiple search engine,元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,将结果进行相关处理,以整体统一的格式反馈给用户。它的特点是本身并没有存放网页信息的数据库。严格意义上来讲,元搜索引擎只能算是一种用户代理,而不是真正的搜索引擎。多数元搜索引擎在处理其它的搜索引擎返回结果时,只提取出每个搜索引擎的结果中考前的条目,然后将这些条目合并在一起返回给用户,因此最后结果的数量可能会远少于直接在一个搜索引擎上进行查找所得到的数量。
元搜索引擎实现起比较简单,但是它也有一定的局限性,例如多数元搜索引擎都只能访问少数几个搜索引擎,并且通常不支持这些搜索引擎的高级搜索功能,在处理逻辑查询时也常'常会出现错误。著名的元搜索引擎有infospace,dogpile,vivisimo等(元搜索引擎列表)。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如dogpile,有的则按自定的规则将结果重新排列组合,如vivisimo。