1、搜 索 引 擎 分 类搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。 全文搜索引擎 :百度,Google,全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut 等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一
2、定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“ 蜘蛛 ”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如 Lycos 引擎。 目录索引: Yahoo 雅虎,搜狐、新浪、网易 ;目录索引虽然有搜索功能,但在严格意义上算不上是真正的搜索引擎,仅仅是按目录分类的网站链接列表而已。用户完全可以不用进行关键词(Keywords )查询,仅靠分类目录也可找到需
3、要的信息。目录索引中最具代表性的莫过于大名鼎鼎的 Yahoo 雅虎。其他著名的还有 Open Directory Project(DMOZ )、LookSmart 、About 等。国内的搜狐、新浪、网易搜索 也都属于这一类。 元搜索引擎 (META Search Engine)元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有 InfoSpace、Dogpile、Vivisimo 等(元搜索引擎列表),中文元搜索引擎中具代表性的有 搜星搜索引擎。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如 Dogpile,有的则按自定的规则将结果重
4、新排列组合,如 Vivisimo。除上述三大类引擎外,还有以下几种非主流形式:1、 集合式搜索引擎 :如 HotBot 在2002年底推出的引擎。该引擎类似 META 搜索引擎,但区别在于不是同时调用多个引擎进行搜索,而是由用户从提供的4个引擎当中选择,因此叫它“集合式”搜索引擎更确切些。2、 门户搜索引擎 :如 AOL Search、MSN Search 等虽然提供搜索服务,但自身即没有分类目录也没有网页数据库,其搜索结果完全来自其他引擎。3、 免费链接列表 (Free For All Links,简称 FFA):这类网站一般只简单地滚动排列链接条目,少部分有简单的分类目录,不过规模比起 Y
5、ahoo 等目录索引来要小得多。 由于上述网站都为用户提供搜索查询服务,为方便起见,我们通常将其统称为搜索引擎。搜索引擎基本工作原理了解搜索引擎的工作原理对我们日常搜索应用和网站提交推广都会有很大帮助。 全文搜索引擎在搜索引擎分类部分我们提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如 Google 一般是28 天), 搜 索引擎主动派出“蜘蛛”程序,对一定 IP 地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在
6、一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。 由于近年来搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库 ,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法 通常根据网页中关键词的匹配程度,出现的位置/频次,链接质量等 计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户。 目录索引与全文搜索引擎相比,目录索引有许多不同之处
7、。首先,搜索引擎属于自动网站检索,而目录索引则完全依赖手工操作。用户提交网站后,目录编辑人员会亲自浏览你的网站,然后根据一套自定的评判标准甚至编辑人员的主观印象,决定是否接纳你的网站。其次,搜索引擎收录网站时,只要网站本身没有违反有关的规则,一般都能登录成功。而目录索引对网站的要求则高得多,有时即使登录多次也不一定成功。尤其象 Yahoo!这样的超级索引,登录更是困难。(由于登录 Yahoo!的难度最大,而它又是商家网络营销必争之地,所以我们会在后面用专门的篇幅介绍 登录 Yahoo 雅虎的技巧)此外,在登录搜索引擎时,我们一般不用考虑网站的分类问题,而登录目录索引时则必须将网站放在一个最合适
8、的目录(Directory)。最后,搜索引擎中各网站的有关信息都是从用户网页中自动提取的,所以用户的角度看,我们拥有更多的自主权;而目录索引则要求必须手工另外填写网站信息,而且还有各种各样的限制。更有甚者,如果工作人员认为你提交网站的目录、网站信息不合适,他可以随时对其进行调整,当然事先是不会和你商量的。目录索引,顾名思义就是将网站分门别类地存放在相应的目录中,因此用户在查询信息时,可选择关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟搜索引擎一样,也是根据信息关联程度排列网站,只不过其中人为因素要多一些。如果按分层目录查找,某一目录中网站的排名则是由标题字母的先后顺序决定(也
9、有例外)。目前,搜索引擎与目录索引有相互融合渗透的趋势。原来一些纯粹的全文搜索引擎现在也提供目录搜索,如 Google 就借用 Open Directory 目录提供分类查询。而象 Yahoo! 这些老牌目录索引则通过与 Google 等搜索引擎合作扩大搜索范围(注)。在默认搜索模式下,一些目录类搜索引擎首先返回的是自己目录中匹配的网站,如国内搜狐、新浪、网易等;而另外一些则默认的是网页搜索,如Yahoo。搜索引擎发展史在互联网发展初期,网站相对较少,信息查找比较容易。然而伴随互联网爆炸性的发展,普通网络用户想找到所需的资料简直如同大海捞针,这时为满足大众信息检索需求的专业搜索网站便应运而生了
10、。现代意义上的搜索引擎的祖先,是1990年由蒙特利尔大学学生 Alan Emtage 发明的 Archie。虽然当时World Wide Web 还未出现,但网络中文件传输还是相当频繁的,而且由于大量的文件散布在各个分散的 FTP主机中,查询起来非常不便,因此 Alan Emtage 想到了开发一个可以以文件名查找文件的系统,于是便有了Archie。Archie 工作原理与现在的搜索引擎已经很接近,它依靠脚本程序自动搜索网上的文件,然后对有关信息进行索引,供使用者以一定的表达式查询。由于 Archie 深受用户欢迎,受其启发,美国内华达 System Computing Services 大学
11、于1993年开发了另一个与之非常相似的搜索工具,不过此时的搜索工具除了索引文件外,已能检索网页。当时,“机器人 ”一词在编程者中十分流行。电脑 “机器人”(Computer Robot)是指某个能以人类无法达到的速度不间断地执行某项任务的软件程序。由于专门用于检索信息的“机器人”程序象蜘蛛一样在网络间爬来爬去,因此,搜索引擎的“机器人” 程序就被称为“蜘蛛”程序。世界上第一个用于监测互联网发展规模的“机器人” 程序是 Matthew Gray 开发的 World wide Web Wanderer。刚开始它只用来统计互联网上的服务器数量,后来则发展为能够检索网站域名。与 Wanderer 相对
12、应,Martin Koster 于1993年10月创建了 ALIWEB,它是 Archie 的 HTTP 版本。ALIWEB 不使用“机器人”程序,而是靠网站主动提交信息来建立自己的链接索引,类似于现在我们熟知的Yahoo。随着互联网的迅速发展,使得检索所有新出现的网页变得越来越困难,因此,在 Matthew Gray 的Wanderer 基础上,一些编程者将传统的 “蜘蛛”程序工作原理作了些改进。其设想是,既然所有网页都可能有连向其他网站的链接,那么从跟踪一个网站的链接开始,就有可能检索整个互联网。到1993年底,一些基于此原理的搜索引擎开始纷纷涌现,其中以 JumpStation、The
13、World Wide Web Worm(Goto 的前身,也就是今天 Overture),和 Repository-Based Software Engineering (RBSE) spider 最负盛名。然而 JumpStation 和 WWW Worm 只是以搜索工具在数据库中找到匹配信息的先后次序排列搜索结果,因此毫无信息关联度可言。而 RBSE 是第一个在搜索结果排列中引入关键字串匹配程度概念的引擎。最早现代意义上的搜索引擎出现于1994年7月。当时 Michael Mauldin 将 John Leavitt 的蜘蛛程序接入到其索引程序中,创建了大家现在熟知的 Lycos。同年4月
14、,斯坦福(Stanford)大学的两名博士生,David Filo和美籍华人杨致远(Gerry Yang)共同创办了超级目录索引 Yahoo,并成功地使搜索引擎的概念深入人心。从此搜索引擎进入了高速发展时期。目前,互联网上有名有姓的搜索引擎已达数百家,其检索的信息量也与从前不可同日而语。比如最近风头正劲的 Google,其数据库中存放的网页已达30 亿之巨!随着互联网规模的急剧膨胀,一家搜索引擎光靠自己单打独斗已无法适应目前的市场状况,因此现在搜索引擎之间开始出现了分工协作,并有了专业的搜索引擎技术和搜索数据库服务提供商。象国外的 Inktomi(已被Yahoo 收购),它本身并不是直接面向用
15、户的搜索引擎,但向包括 Overture(原 GoTo,已被 Yahoo 收购)、LookSmart、MSN、HotBot 等在内的其他搜索引擎提供全文网页搜索服务。国内的百度也属于这一类(注1),搜狐和新浪用的就是它的技术(注2)。因此从这个意义上说,它们是搜索引擎的搜索引擎。(注1 ) :百度已于 2001年9月开始提供公共搜索服务。(注1):搜狐二级网页搜索现已改为中搜的引擎,而新浪则已转用 Google 的搜索结果。一、搜索引擎的分类 获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullTe
16、xt Search Engine)和分类目录 Directory)。 全文搜索引擎的数据库是依靠一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)” 的软件,通过网络上的各种链接自动获取大量网页信息内容,并按以定的规则分析整理形成的。Google、百度都是比较典型的全文搜索引擎系统。 分类目录则是通过人工的方式收集整理网站资料形成数据库的,比如雅虎中国以及国内的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原始的分类目录,比如“网址之家”。 全文搜索引擎和分类目录在使用上各有长短。全文搜索引擎因为依靠软件进行,所以数据库的容量非常庞大,但是,它的查询结果
17、往往不够准确;分类目录依靠人工收集和整理网站,能够提供更为准确的查询结果,但收集的内容却非常有限。为了取长补短,现在的很多搜索引擎,都同时提供这两类查询,一般对全文搜索引擎的查询称为搜索“所有网站”或“全部网站”,比如Google 的全文搜索(http:/ );把对分类目录的查询称为搜索“分类目录”或搜索“ 分类网站” ,比如新浪搜索和雅虎中国搜索(http:/ 在网上,对这两类搜索引擎进行整合,还产生了其它的搜索服务,在这里,我们权且也把它们称作搜索引擎,主要有这两类: 元搜索引擎(META Search Engine)。这类搜索引擎一般都没有自己网络机器人及数据库,它们的搜索结果是通过调用
18、、控制和优化其它多个独立搜索引擎的搜索结果并以统一的格式在同一界面集中显示。元搜索引擎虽没有“网络机器人”或“ 网络蜘蛛 ”,也无独立的索引数据库,但在检索请求提交、检索接口代理和检索结果显示等方面,均有自己研发的特色元搜索技术。比如“metaFisher 元搜索引擎” (http:/ Google、Yahoo、AlltheWeb、百度和OpenFind 等多家搜索引擎的数据。 集成搜索引擎(Allin One Search Page)。集成搜索引擎是通过网络技术,在一个网页上链接很多个独立搜索引擎,查询时,点选或指定搜索引擎,一次输入,多个搜索引擎同时查询,搜索结果由各搜索引擎分别以不同页面
19、显示,比如“网际瑞士军刀”(http:/ 二、搜索引擎的工作原理 全文搜索引擎的“网络机器人”或“网络蜘蛛”是一种网络上的软件,它遍历 Web 空间,能够扫描一定 IP 地址范围内的网站,并沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站采集网页资料。它为保证采集的资料最新,还会回访已抓取过的网页。网络机器人或网络蜘蛛采集的网页,还要有其它程序进行分析,根据一定的相关度算法进行大量的计算建立网页索引,才能添加到索引数据库中。我们平时看到的全文搜索引擎,实际上只是一个搜索引擎系统的检索界面,当你输入关键词进行查询时,搜索引擎会从庞大的数据库中找到符合该关键词的所有相关网页的索引,并
20、按一定的排名规则呈现给我们。不同的搜索引擎,网页索引数据库不同,排名规则也不尽相同,所以,当我们以同一关键词用不同的搜索引擎查询时,搜索结果也就不尽相同。 和全文搜索引擎一样,分类目录的整个工作过程也同样分为收集信息、分析信息和查询信息三部分,只不过分类目录的收集、分析信息两部分主要依靠人工完成。分类目录一般都有专门的编辑人员,负责收集网站的信息。随着收录站点的增多,现在一般都是由站点管理者递交自己的网站信息给分类目录,然后由分类目录的编辑人员审核递交的网站,以决定是否收录该站点。如果该站点审核通过,分类目录的编辑人员还需要分析该站点的内容,并将该站点放在相应的类别和目录中。所有这些收录的站点
21、同样被存放在一个“索引数据库”中。用户在查询信息时,可以选择按照关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟全文搜索引擎一样,也是根据信息关联程度排列网站。需要注意的是,分类目录的关键词查询只能在网站的名称、网址、简介等内容中进行,它的查询结果也只是被收录网站首页的 URL 地址,而不是具体的页面。分类目录就像一个电话号码薄一样,按照各个网站的性质,把其网址分门别类排在一起,大类下面套着小类,一直到各个网站的详细地址,一般还会提供各个网站的内容简介,用户不使用关键词也可进行查询,只要找到相关目录,就完全可以找到相关的网站(注意:是相关的网站,而不是这个网站上某个网页的内容,
22、某一目录中网站的排名一般是按照标题字母的先后顺序或者收录的时间顺序决定的)。 搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。 真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。 现在的搜索引擎已普遍使用超链分析技术,除了分析索引网页本身的内容,还分析索引所有指向该网页的链接的 URL、AnchorText、甚至链接周
23、围的文字。所以,有时候,即使某个网页A 中并没有某个词比如“ 恶魔撒旦”,但如果有别的网页 B 用链接“恶魔撒旦”指向这个网页 A,那么用户搜索“恶魔撒旦” 时也能找到网页 A。而且,如果有越多网页(C、D、E、F)用名为“恶魔撒旦” 的链接指向这个网页 A,或者给出这个链接的源网页(B、C、D、E、F)越优秀,那么网页 A 在用户搜索“恶魔撒旦”时也会被认为更相关,排序也会越靠前。 搜索引擎的原理,可以看做三步:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。从互联网上抓取网页 利用能够从互联网上自动收集网页的 Spider(蜘蛛)系统程序,自动访问互联网,并沿着任何网页中的所有 U
24、RL 爬到其它网页,重复这过程,并把爬过的所有网页收集回来。 建立索引数据库 由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在 URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。 在索引数据库中搜索排序 当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,
25、排名越靠前。 最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。 搜索引擎的 Spider 一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。 互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千 G 甚至几万 G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在70% 以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。而互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是我们无法用搜索引擎搜索到的。 你心里应该有这个概念:搜索引擎只能搜到它网页索引数据库里储存的内容。你也应该有这个概念:如果搜索引擎的网页索引数据库里应该有,而你没有搜出来,那是你的能力问题,学习搜索技巧可以大幅度提高你的搜索能力。