admin管理员组

文章数量:1578033

1、Web搜索引擎的基本要求

搜索引擎是一个网络应用软件系统,如下图所示,对它有如下基本要求。
能够接受用户通过浏览器提交的查询词或者短语,记作q,例如“大数据”,“Spark”等等。
在一个可以接受的时间内返回一个和该用户查询匹配的网页信息列表,记作L。这个列表的每一条目至少包含三个元素(标题,网址链接,摘要)。
示意图:

可以接受的时间”,也就是响应时间,这个时间不能太长,通常也就在“秒”这个量级。这是衡量搜索引擎可用性的一个基本指标。
更进一步的,这样的响应时间要求不仅要能满足单个用户查询,而且要能在系统设计负载的情况下满足所有的用户。也就是说,系统应该在额定吞吐率的情况下保证秒级响应时间。

匹配”,指的是网页中以某种形式包含有q的内容,最简单最常见的形式就是q在其中直接出现。(当然,如果一个搜索引擎就是以百分之百满足这种简单的包含关系为目标,即使实现了也并不意味着达到了最好的效果。)

列表”,就是一种序列(rank)。大多数情况下,L特别长,例如上万条数目等。这不仅是由于Web上的信息量大,也由于搜索引擎的查询方式简单。简单,意味着抽象;抽象,意味着有更多的具体事物可能是它的体现。
有分析统计表明,用户平均察看返回结果不超过2页。
现代大规模高质量搜索引擎一般采用下图三段式的工作流程,即:网页搜集、预处理和查询服务:


2、网页搜集

大规模搜索引擎服务的基础应该是一批预先搜集好的网页,如何维护?

1)定期搜集,每次搜集替换上一次的内容,我们称之为“批量搜集”。由于每次都是重新来一次,对于大规模搜索引擎来说,每次搜集的时间通常会花几周。而由于这样做开销较大,通常两次搜集的间隔时间也不会很短。这样做的好处是系统实现比较简单,主要缺点是“时新性”(freshness)不高,还有重复搜集所带来的额外带宽的消耗。

2)增量搜集,开始时搜集一批,往后只是:
(1)搜集新出现的网页

本文标签: 体系结构工作原理搜索引擎web