才子佳人博客

我的故事我讲述

搜索引擎工作原理简介
 
来源:xjh  编辑:xjh  2010-10-14

一、搜索引擎的概念及分类

网络机器人(Spider)”或“网络蜘蛛”是一种网络上的软件,它遍历Web空间,能够扫描一定IP地址范围内的网站,并沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站采集网页资料。它为保证采集的资料最新,还会回访已抓取过的网页。

获得网站网页资料,能够建立索引数据库并提供查询检索的系统(工具),我们都可以把它叫做搜索引擎。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索引擎(FullText Search Engine)和分类目录索引(Directory)。

全文搜索引擎的数据库是依靠一个叫“网络机器人(Spider)”或叫“网络蜘蛛(crawlers)”的软件,通过网络上的各种链接自动获取大量网页信息内容,并按以定的规则分析整理形成的。Google、百度都是比较典型的全文搜索引擎系统。

分类目录索引则是通过人工的方式收集整理网站资料形成数据库的,比如雅虎中国以及国内的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原始的分类目录,比如“网址之家”(http://www.hao123.com/)。

全文搜索引擎和分类目录在使用上各有长短。全文搜索引擎因为依靠软件进行,所以数据库的容量非常庞大,但是,它的查询结果往往不够准确;分类目录依靠人工收集和整理网站,能够提供更为准确的查询结果,但收集的内容却非常有限。为了取长补短,现在的很多搜索引擎,都同时提供这两类查询,一般对全文搜索引擎的查询称为搜索“所有网站”或“全部网站”,比如Google的全文搜索(http://www.google.com/intl/zh-CN/);把对分类目录的查询称为搜索“分类目录”或搜索“分类网站”,比如新浪搜索(http://dir.sina.com.cn/)和雅虎中国搜索(http://cn.search.yahoo.com/dirsrch/)。

在网上,对这两类搜索引擎进行整合,还产生了其它的搜索服务,在这里,我们权且也把它们称作搜索引擎,主要有这两类:

⒈元搜索引擎(META Search Engine)。
  这类搜索引擎一般都没有自己网络机器人及数据库,它们的搜索结果是通过调用、控制和优化其它多个独立搜索引擎的搜索结果并以统一的格式在同一界面集中显示。元搜索引擎虽没有“网络机器人”或“网络蜘蛛”,也无独立的索引数据库,但在检索请求提交、检索接口代理和检索结果显示等方面,均有自己研发的特色元搜索技术。

⒉集成搜索引擎(All-in-One Search Page)。
  集成搜索引擎是通过网络技术,在一个网页上链接很多个独立搜索引擎,查询时,点选或指定搜索引擎,一次输入,多个搜索引擎同时查询,搜索结果由各搜索引擎分别以不同页面显示。

二、搜索引擎的工作原理

1、全文搜索引擎的工作原理

可以看做四步:从互联网上抓取网页→建立索引数据库→在索引数据库中搜索并排序→通过用户接口输出检索结果。

1)从互联网上抓取网页

利用能够从互联网上自动收集网页的Spider系统程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。

2)建立索引数据库

由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引数据库。

3)在索引数据库中搜索排序

当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。

4)最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。

搜索引擎的Spider一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率),更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用户查询的结果中。

互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千G甚至几万G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到30%,不同搜索引擎之间的网页数据重叠率一般在70%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。

搜索引擎的自动信息搜集功能

搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。

另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录

2、分类目录索引的工作原理

和全文搜索引擎一样,分类目录的整个工作过程也同样分为收集信息、分析信息和查询信息三部分,只不过分类目录的收集、分析信息两部分主要依靠人工完成。

分类目录一般都有专门的编辑人员,负责收集网站的信息。随着收录站点的增多,现在一般都是由站点管理者递交自己的网站信息给分类目录,然后由分类目录的编辑人员审核递交的网站,以决定是否收录该站点。如果该站点审核通过,分类目录的编辑人员还需要分析该站点的内容,并将该站点放在相应的类别和目录中。所有这些收录的站点同样被存放在一个“索引数据库”中。

用户在查询信息时,可以选择按照关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟全文搜索引擎一样,也是根据信息关联程度排列网站。需要注意的是,分类目录的关键词查询只能在网站的名称、网址、简介等内容中进行,它的查询结果也只是被收录网站首页的URL地址,而不是具体的页面。分类目录就像一个电话号码薄一样,按照各个网站的性质,把其网址分门别类排在一起,大类下面套着小类,一直到各个网站的详细地址,一般还会提供各个网站的内容简介,用户不使用关键词也可进行查询,只要找到相关目录,就完全可以找到相关的网站(注意:是相关的网站,而不是这个网站上某个网页的内容,某一目录中网站的排名一般是按照标题字母的先后顺序或者收录的时间顺序决定的)。

三、搜索引擎的发展趋势。

一个好的搜索引擎,不仅数据库容量要大,更新频率、检索速度要快,支持对多语言的搜索,而且随着数据库容量的不断膨胀,还要能从庞大的资料库中精确地找到正确的资料。

⒈提高搜索引擎对用户检索提问的理解。

为了提高搜索引擎对用户检索提问的理解,就必须有一个好的检索提问语言。为了克服关键词检索和目录查询的缺点,现在已经出现了自然语言智能答询。用户可以输入简单的疑问句,比如“如何能杀死计算机中的病毒”,搜索引擎在对提问进行结构和内容的分析之后,或直接给出提问的答案,或引导用户从几个可选择的问题中进行再选择。自然语言的优势在于,一是使网络交流更加人性化,二是使查询变得更加方便、直接、有效。就以上面的例子来讲,如果用关键词查询,多半人会用“病毒”这个词来检索,结果中必然会包括各类病毒的介绍,病毒是怎样产生的等等许多无用信息,而用“如何能杀死计算机中的病毒”检索,搜索引擎会将怎样杀死病毒的信息提供给用户,提高了检索效率。

⒉垂直主题搜索引擎有着极大的发展空间。

网上的信息浩如烟海,网络资源以惊人的速度增长,一个搜索引擎很难收集全所有主题的网络信息,即使信息主题收集得比较全面,由于主题范围太宽,很难将各主题都做得精确而又专业,使得检索结果垃圾太多。这样以来,垂直主题的搜索引擎以其高度的目标化和专业化在各类搜索引擎中占据了一席之地。目前,一些主要的搜索引擎,都提供了新闻、Mp3、图片、Flash等的搜索,加强了检索的针对性。

⒊元搜索引擎,能够提供全面且较为准确的查询结果。

现在的许多搜索引擎,其收集信息的范围、索引方法、排名规则等都各不相同,每个搜索引擎平均只能涉及到整个Web资源的30-50%,这样导致同一个搜索请求在不同搜索引擎中获得的查询结果的重复率不足34%,而每一个搜索引擎的查准率不到45%。元搜索引擎(META Search Engine)是将用户提交的检索请求发送到多个独立的搜索引擎上去搜索,并将检索结果集中统一处理,以统一的格式提供给用户,因此有搜索引擎之上的搜索引擎之称。它的主要精力放在提高搜索速度、智能化处理搜索结果、个性化搜索功能的设置和用户检索界面的友好性上,查全率和查准率都比较高。

四、主要的搜索引擎介绍

这里介绍的是在国内外影响比较大的主要的一些搜索引擎和分类目录站点,由于现在的站点一般都同时提供全文搜索和分类目录两种服务,所以我们按照其自有的技术进行分类和介绍。

㈠主要的全文搜索引擎

⒈Google(http://www.google.com/)。Google成立于1997年,几年间迅速发展成为世界范围内规模最大的搜索引擎。Google数据库现存有42.8亿个Web文件,每天处理的搜索请求已达2亿次,而且这一数字还在不断增长。

⒉百度(http://www.baidu.com/)。百度是国内最早的商业化(早期为其它门户网站提供搜索服务,现在的竞价排名更是日进斗金)全文搜索引擎,拥有自己的网络机器人和索引数据库,专注于中文的搜索引擎市场,除有网页搜索外,百度还有新闻、MP3、图片等搜索,并在2003年底推出“贴吧”、按地域搜索等功能。

㈡主要分类目录

⒈雅虎中国分类目录(http://cn.yahoo.com/)。雅虎中国的分类目录是最早的分类目录,现有14个主类目,包括“商业与经济”、“艺术与人文”等,可以逐层进入进行检索,也可以利用关键词对“分类网站”进行搜索。

⒉新浪分类目录(http://dir.sina.com.cn/)。新浪的分类目录目前共有18个大类目,用户可按目录逐级向下浏览,直到找到所需网站。就好像用户到图书馆找书一样,按照类别大小,层层查找,最终找到需要的网站或内容。通过和其它全文搜索引擎的合作,现在,也可以使用关键词对新浪的“分类网站”或“全部网站”进行搜索。

⒊搜狐分类目录(http://dir.sohu.com/)。搜狐分类目录把网站作为收录对象,具体的方法就是将每个网站首页的URL地址提供给搜索用户,并且将网站的题名和整个网站的内容简单描述一下,但是并不揭示网站中每个网页的信息内容。除此之外,也可以使用关键词对搜狐的“分类目录”或所有网站进行搜索。

⒋网易分类目录(http://search.163.com/)。网易的分类目录采用“开放式目录”管理方式,在功能齐全的分布式编辑和管理系统的支持下,现有5000多位各界专业人士参与可浏览分类目录的编辑工作,极大地适应了互联网信息爆炸式增长的趋势。在加强与其它搜索引擎合作的基础上,新版搜索引擎支持使用关键词对所有网站进行检索。

参考来源:

Internet应用教程(第三版)陈强等 清华大学出版社

http://jwebee.javaeye.com/blog/157017

http://hpjianhua.javaeye.com/blog/399026

http://www.javaeye.com/wiki/topic/399026

http://baike.baidu.com/view/1840600.htm

http://fuwu.wjw.cn/ServicePlan/ContentView.aspx?Type=ZY&ID=C29c8a9253ac81e2a

搜索引擎工作原理与优化(一)

分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: