1、搜索引擎的分类及工作原理姓 名 :XXX 班 级 :XXX摘要:这篇论文是关于搜索引擎的分类及原理的分析。在 浩 瀚 的 网 络 资 源 中 , 搜 索 引擎 ( Search Engine) 是 一 种 网 上 信 息 检 索 工 具 , 它 能 帮 助 用 户 迅 速 而 全 面 地 找 到所 需 要 的 信 息 。 它是一个集中了千千万万个站点的地方,主要功能是给人们搜索这些站点。它还会分门别类的把一些好的站点列出来,以方便人们查找资料,有了搜索引擎你就能很容易的找到你想要的内容或站点,因此掌握好使用搜索引擎对于任何上网的用户至关重要。一个好的搜索引擎,不仅数据库容量要大,更新频率、检索
2、速度要快,支持对多语言的搜索,而且随着数据库容量的不断膨胀,还要能从庞大的资料库中精确地找到正确的资料。关键词:搜索引擎 工作原理 分类 蜘蛛 搜集网站 1.前言获得网站网页资料,能够建立数据库并提供查询的系统,我们都可以把它叫做搜索引擎。搜索引擎并不真正搜索互联网,它搜索的实际上是预先整理好的网页索引数据库。真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关
3、度高低,依次排列。2.搜索引擎分类搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine) 、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine) 。2.1 全 文 搜 索 引 擎 全 文 搜 索 引 擎 是 从 网 站 提 取 信 息 建 立 网 页 数 据 库 。 搜 索 引 擎 的 自 动 信 息 搜 集 功能 分 两 种 。 一 种 是 定 期 搜 索 , 即 每 隔 一 段 时 间 搜 索 引 擎 主 动 派 出 “蜘 蛛 ”程 序 ,对 一 定 IP 地 址 范 围 内
4、 的 互 联 网 站 进 行 检 索 , 一 旦 发 现 新 的 网 站 , 它 会 自 动 提 取网 站 的 信 息 和 网 址 加 入 自 己 的 数 据 库 。另 一 种 是 提 交 网 站 搜 索 , 即 网 站 拥 有 者 主 动 向 搜 索 引 擎 提 交 网 址 , 它 在 一 定时 间 内 ( 2 天 到 数 月 不 等 ) 定 向 向 你 的 网 站 派 出 “蜘 蛛 ”程 序 , 扫 描 你 的 网 站并 将 有 关 信 息 存 入 数 据 库 , 以 备 用 户 查 询 。 由 于 近 年 来 搜 索 引 擎 索 引 规 则 发 生 了很 大 变 化 , 主 动 提 交
5、网 址 并 不 保 证 你 的 网 站 能 进 入 搜 索 引 擎 数 据 库 , 因 此 目 前 最好 的 办 法 是 多 获 得 一 些 外 部 链 接 , 让 搜 索 引 擎 有 更 多 机 会 找 到 你 并 自 动 将 你 的 网站 收 录 。当 用 户 以 关 键 词 查 找 信 息 时 , 搜 索 引 擎 会 在 数 据 库 中 进 行 搜 寻 , 如 果 找 到 与用 户 要 求 内 容 相 符 的 网 站 , 便 采 用 特 殊 的 算 法 通 常 根 据 网 页 中 关 键 词 的 匹配 程 度 , 出 现 的 位 置 /频 次 , 链 接 质 量 等 计 算 出 各 网
6、页 的 相 关 度 及 排 名 等 级 ,然 后 根 据 关 联 度 高 低 , 按 顺 序 将 这 些 网 页 链 接 返 回 给 用 户 。2.2 目 录 索 引首 先 , 搜 索 引 擎 属 于 自 动 网 站 检 索 , 而 目 录 索 引 则 完 全 依 赖 手 工 操 作 。 用 户 提交 网 站 后 , 目 录 编 辑 人 员 会 亲 自 浏 览 你 的 网 站 , 然 后 根 据 一 套 自 定 的 评 判 标 准 甚至 编 辑 人 员 的 主 观 印 象 , 决 定 是 否 接 纳 你 的 网 站 。其 次 , 搜 索 引 擎 收 录 网 站 时 , 只 要 网 站 本 身
7、没 有 违 反 有 关 的 规 则 , 一 般 都能 登 录 成 功 。 此 外 , 在 登 录 搜 索 引 擎 时 , 我 们 一 般 不 用 考 虑 网 站 的 分 类 问 题 , 而登 录 目 录 索 引 时 则 必 须 将 网 站 放 在 一 个 最 合 适 的 目 录 。最 后 , 搜 索 引 擎 中 各 网 站 的 有 关 信 息 都 是 从 用 户 网 页 中 自 动 提 取 的 , 所 以用 户 的 角 度 看 , 我 们 拥 有 更 多 的 自 主 权 ; 而 目 录 索 引 则 要 求 必 须 手 工 另 外 填 写 网站 信 息 , 而 且 还 有 各 种 各 样 的 限
8、 制 。 更 有 甚 者 , 如 果 工 作 人 员 认 为 你 提 交 网 站 的目 录 、 网 站 信 息 不 合 适 , 他 可 以 随 时 对 其 进 行 调 整 , 当 然 事 先 是 不 会 和 你 商 量 的 。2.3 元搜索引擎 (META Search Engine)元搜索引擎在接受用户查询请求时,同时在其他多个引擎上进行搜索,并将结果返回给用户。著名的元搜索引擎有 InfoSpace、Dogpile、Vivisimo 等,中文元搜索引擎中具代表性的有搜星搜索引擎。在搜索结果排列方面,有的直接按来源引擎排列搜索结果,如 Dogpile,有的则按自定的规则将结果重新排列组合,如
9、 Vivisimo 3 搜索引擎的原理全文搜索引擎的“网络机器人”或“网络蜘蛛”是一种网络上的软件,它遍历 Web 空间,能够扫描一定 IP 地址范围内的网站,并沿着网络上的链接从一个网页到另一个网页,从一个网站到另一个网站采集网页资料。它为保证采集的资料最新,还会回访已抓取过的网页。网络机器人或网络蜘蛛采集的网页,还要有其它程序进行分析,根据一定的相关度算法进行大量的计算建立网页索引,才能添加到索引数据库中。我们平时看到的全文搜索引擎,实际上只是一个搜索引擎系统的检索界面,当你输入关键词进行查询时,搜索引擎会从庞大的数据库中找到符合该关键词的所有相关网页的索引,并按一定的排名规则呈现给我们。
10、不同的搜索引擎,网页索引数据库不同,排名规则也不尽相同,所以,当我们以同一关键词用不同的搜索引擎查询时,搜索结果也就不尽相同。 和全文搜索引擎一样,分类目录的整个工作过程也同样分为收集信息、分析信息和查询信息三部分,只不过分类目录的收集、分析信息两部分主要依靠人工完成。分类目录一般都有专门的编辑人员,负责收集网站的信息。随着收录站点的增多,现在一般都是由站点管理者递交自己的网站信息给分类目录,然后由分类目录的编辑人员审核递交的网站,以决定是否收录该站点。如果该站点审核通过,分类目录的编辑人员还需要分析该站点的内容,并将该站点放在相应的类别和目录中。所有这些收录的站点同样被存放在一个“索引数据库
11、”中。用户在查询信息时,可以选择按照关键词搜索,也可按分类目录逐层查找。如以关键词搜索,返回的结果跟全文搜索引擎一样,也是根据信息关联程度排列网站。需要注意的是,分类目录的关键词查询只能在网站的名称、网址、简介等内容中进行,它的查询结果也只是被收录网站首页的 URL 地址,而不是具体的页面。分类目录就像一个电话号码薄一样,按照各个网站的性质,把其网址分门别类排在一起,大类下面套着小类,一直到各个网站的详细地址,一般还会提供各个网站的内容简介,用户不使用关键词也可进行查询,只要找到相关目录,就完全可以找到相关的网站(注意:是相关的网站,而不是这个网站上某个网页的内容,某一目录中网站的排名一般是按
12、照标题字母的先后顺序或者收录的时间顺序决定的) 。 现在的搜索引擎已普遍使用超链分析技术,除了分析索引网页本身的内容,还分析索引所有指向该网页的链接的URL、AnchorText、甚至链接周围的文字。所以,有时候,即使某个网页 A 中并没有某个词比如“恶魔撒旦” ,但如果有别的网页 B 用链接“恶魔撒旦”指向这个网页 A,那么用户搜索“恶魔撒旦”时也能找到网页 A。而且,如果有越多网页(C、D、E、F)用名为“恶魔撒旦”的链接指向这个网页 A,或者给出这个链接的源网页(B、C、D、E、F)越优秀,那么网页 A 在用户搜索“恶魔撒旦”时也会被认为更相关,排序也会越靠前搜索引擎的工作原理可以看做三
13、步:从互联网上抓取网页建立索引数据库在索引数据库中搜索排序。3.1 从互联网上抓取网页利用能够从互联网上自动收集网页的 Spider 系统程序,自动访问互联网,并沿着任何网页中的所有 URL 爬到其它网页,重复这过程,并把爬过的所有网页收集回来。3.2 建立索引数据库由分析索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在 URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大些 与其它网页的链接关系等) ,根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性) ,然后用这些相关信息建立网页索引数据库。 3.3 在
14、索引数据库中搜索排序当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。因为所有相关网页针对该关键词的相关度早已算好,所以只需按照现成的相关度数值排序,相关度越高,排名越靠前。 最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。搜索引擎的 Spider 一般要定期重新访问所有网页(各搜索引擎的周期不同,可能是几天、几周或几月,也可能对不同重要性的网页有不同的更新频率) ,更新网页索引数据库,以反映出网页内容的更新情况,增加新的网页信息,去除死链接,并根据网页内容和链接关系的变化重新排序。这样,网页的具体内容和变化情况就会反映到用
15、户查询的结果中。互联网虽然只有一个,但各搜索引擎的能力和偏好不同,所以抓取的网页各不相同,排序算法也各不相同。大型搜索引擎的数据库储存了互联网上几亿至几十亿的网页索引,数据量达到几千 G 甚至几万 G。但即使最大的搜索引擎建立超过二十亿网页的索引数据库,也只能占到互联网上普通网页的不到 30%,不同搜索引擎之间的网页数据重叠率一般在 70%以下。我们使用不同搜索引擎的重要原因,就是因为它们能分别搜索到不同的内容。而互联网上有更大量的内容,是搜索引擎无法抓取索引的,也是我们无法用搜索引擎搜索到的。 3.4 在做网页的提取过程中详细的原理如下3.4.1 关键词的提取所谓“目标网页”指的是搜索引擎设
16、计覆盖的网页范围.例如 Google 是全球,天网是全中国.随便取一篇网页的源文件(例如通过浏览器的“查看源文件”功能),我们可以看到其中的情况纷乱繁杂.除了我们从浏览器中能够正常看到的文字内容外,还有大量的 HTML 标记.据统计,网页文档源文件的大小(字节量)通常大约是其中内容大小的 4 倍.另外,由于 HTML 文档产生来源的多样性,许多网页在内容上比较随意,不仅文字不讲究规范、完整,而且还可能包含许多和主要内容无关的信息.这些情况既给有效的信息查询带来了挑战,也带来了一些新的机遇,这里我们只是指出,为了支持后面的查询服务,需要从网页源文件中提取出能够代表它的内容的一些特征.从人们现在的
17、认识和实践来看,所含的关键词即为这种特征最好的代表.于是,作为预处理阶段的一个基本任务,就是要提取出网页源文件的内容部分所含的关键词.对于中文来说,就是要根据一个词典 ,用一个所谓“切词软件”,从网页文字中切出 所含的词语来.在那之后,一篇网页主要就由一组词来近似代表了,p = t1, t2, , tn.一般来讲,我们可能得到很多词,同一个词可能在一篇网页中多次出现.从效果和效率考虑,不应该让所有的词都出现在网页的表示中,要去掉诸如“的”,“在“等没有内容指示意义的词,称为“停用词”.这样,对一篇网页来说,有效的词语数量大约在 200 个左右.3.4.2 重复或转载网页的消除与生俱来的数字化和
18、网络化给网页的复制以及转载和修改再发表带来了便利,因此我们看到 Web 上的信息存在大量的重复现象.据统计,网页的重复率平均大约为4.也就是说,当你通过一个 URL 在网上看到一篇网页的时候,平均还有另外 3 个不同的 URL 也给出相同或者基本相似的内容.这种现象对于广大的网民来说是有正面意义的,因为有了更多的信息访问机会.但对于搜索引擎来说,则主要是负面的;它不仅在搜集网页时要消耗机器时间和网络带宽资源,而且如果在查询结果中出现,无意义地消耗了计算机显示屏资源,也会引来用户的抱怨,“这么多重复的,给我一个就够了”.因此,消除内容重复或主题内容重复的网页是预处理阶段的一个重要任务.34.3
19、链接分析前面提到,大量的 HTML 标记既给网页的预处理造成了一些麻烦,也带来了一些新的机遇.从信息检索的角度讲,如果系统面对的仅仅是内容的文字,我们能依据的就是“共有词汇假设”,即内容所包含的关键词集合,最多加上词频(term frequency 或 tf、TF)和词在文档集合中出现的文档频率(document frequency 或 df、DF)之类的统计量.而 TF 和 DF 这样的频率信息能在一定程度上指示词语在一篇文档中的相对重要性或者和某些内容的相关性,这是有意义的.有了 HTML 标记后,情况还可能进一步改善,例如在同一篇文档中,和之间的信息很可能就比在和之间的信息更重要.特别地
20、,HTML 文档中所含的指向其他文档的链接信息是人们近几年来特别关注的对象,认为它们不仅给出了网页之间的关系,而且还对判断网页的内容有很重要的作用.例如“传世群英传外挂”这几个字在传奇归来外挂的主页上是没有的,因此一个仅靠内容文字分析的搜索引擎就不可能返回该主页作为结果. 3.4.4 网页重要程度的计算搜索引擎返回给用户的,是一个和用户查询相关的结果列表.列表中条目的顺序是很重要的一个问题.由于面对各种各样的用户,加之查询的自然语言风格,对同样的 q0返回相同的列表肯定是不能使所有提交 q0 的用户都满意的(或者都达到最高的满意度).因此搜索引擎实际上追求的是一种统计意义上的满意.人们认为 G
21、oogle 目前比百度好,是因为在多数情况下前者返回的内容要更符合用户的需要,而不是所有情况下都如此.如何对查询结果进行排序有很多因素需要考虑,后面将有深入的讨论.这里只是概要解释在预处理阶段可能形成的所谓“重要性”因素.顾名思义,既然是在预处理阶段形成的,就是和用户查询无关的.如何讲一篇网页比另外一篇网页重要?人们参照科技文献重要性的评估方式,核心想法就是“被引用多的就是重要的”.“引用”这个概念恰好可以通过 HTML 超链在网页之间体现得非常好,作为 Google创立核心技术的 PageRank 就是这种思路的成功体现.除此以外,人们还注意到网页和文献的不同特点,即一些网页主要是大量对外的
22、链接,其本身基本没有一个明确的主题内容,而另外有些网页则被大量的其他网页链接.从某种意义上讲,这形成了一种对偶的关系,这种关系使得人们可以在网页上建立另外一种重要性指标.这些指标有的可以在预处理阶段计算,有的则要在查询阶段计算,但都是作为在查询服务阶段最终形成结果排序的部分参数.总结:搜索引擎只能搜到它网页索引数据库里储存的内容。当我们以同一关键词用不同的搜索引擎查询时,搜索结果也就不尽相同。在同一搜索引擎查询关键字的另一种说法时也会出现不同的结果。通过这个选修的学习,使我了解了关于搜索引擎的很多知识,提高了我的自学能力和动手能力,让我知道了在查询信息过程中需要注意的很多问题,这些对我以后的工作都是大有裨益的。参考文献:1. http:/ http:/ http:/