今天的课程主要讲的是搜索引擎原理中网页搜索的基础简介,在上一节《1.1.1、搜索引擎的工作原理》中我们已经知道了,网页搜集是搜索引擎三段式工作的第一阶段的工作,在这个阶段搜索引擎完成原始网页的搜集,这些网页将作为下一个阶段的数据基础。那么搜索引擎在这个阶段会碰上哪些问题呢?本节将做一个简单的介绍。

网页搜集时机

第一个问题就是,搜索引擎是什么时候搜集网页的呢?是用户搜索的时候立刻去网络上搜集呢?还是事先搜集好的呢?下面就来分析一下两种方式的可行性。

1、即时搜集

即时搜集是指搜索引擎当用户查询的时候,即时的去网上搜集所有的网页,然后一个个的分析处理,最后返回相应的结果。我们可以用下图来表示这种搜集方式:

搜索引擎即时搜集

假设网络上有网页A、B、C…当搜索引擎接收到用户的查询时,搜索引擎立刻去互联网搜集所有的网页,然后处理排序后,返回结果列表T、C、A、B…

虽然完成了任务,但是我们都知道搜索引擎下载和处理一个网页起码都需要1秒钟,而对于每一个查询搜索引擎都要处理上百亿的网页,那么我们通过这个方式想得到一个结果页面,起码要花上几年的时间,这显然是不现实的。

2、事先搜集

事先搜集是指搜索引擎一开始搜集好一批网页,并处理好存储在数据库中,用户在查询的时候去数据库中直接查询匹配项。我们可以用下图来做说明:

搜索引擎事先搜集

一样假设互联网有网页A、B、C…搜索引擎事先将这些网页搜集回来,并且处理排序后存在数据库中,当用户查询的时候,搜索引擎直接去数据库中获得搜索结果并且返回,就可行性来讲,这种方式是没有问题的,因此主流的搜索引擎都是以事先搜集的方式搜集网页。

网页搜集方式

知道了搜索引擎使用的是事先搜集的搜集方式,但是如何搜集的,还是需要考虑的,一个好的搜集方案,可以大大提高搜集的效率。下面就介绍两种网页搜集方式。

1、定期搜集

定期搜集,就是指一开始先搜集一遍互联网,之后每次搜集都替换掉上一次的内容,我们也称为“批量搜集”。

比如一开始互联网上有网页A、B、C…然后一段时间后,新出现了网页E;网页B被删除了。那么下一次搜集的时候,搜索引擎会将网页A、B、C..E…都搜集回来,并且将网页B从数据库中删除掉,这样就完成了一次搜集。

这样的搜集方式优点是实现简单,缺点是时新性差,以及重复搜集带来的额外带宽消耗。

2、增量搜集

增量搜集是指一开始先搜集一遍网页,往后只是:①搜集新出现的网页;②搜集上一次搜集后有所改动的网页;③发现上次搜集后不再存在的网页,并从库中删除掉。

比如一开始有网页A、B、C…然后一段时间出现了网页E;网页B被删除了;网页D更新了。那么下一次搜集的时候,搜索引擎只将更新了的D和新出现的网页E搜集,并且删除了网页B,而其他页面都不再做处理。

这样的搜集方式优点是时新性强(因为每天更新和新出现的网页少,可以每天都搜集),缺点是系统复杂,尤其是在建立索引的过程中。

一般来说,主流的搜索引擎平时都是采用增量搜集的方式搜集网页,然后定期进行一个批量搜集。

小结

以上就是搜索引擎搜集网页的简介,但是在搜集网页的过程中还有许多问题是搜索引擎需要攻克的,比如如何存储搜集回来的网页,如何避免重复搜集网页,如何首先搜集重要的网页以及搜索子系统的可扩展性等等,我们都会做一一讲解的。