搜索引擎架构图

1.搜索引擎架构图

搜索引擎架构图_第1张图片

(a)抓取网页

    搜索引擎的信息源来自于互联网网页,通过网络爬虫将互联网的信息获取到本地. 因 为互联网页面中有相当大比例的内容是完全相同或者近似重复的,"网页去重"模块会对此做 出检測,并去除重复内容。

(b)建立索引

    抓取到网页后,搜索引擎会对网页进行解析,抽取出网页主体内容和相关信息,(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等)。根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页建立索引。为了加快响应用户査询的速度,网页内容通过"倒排索引"这种高效查询数据 结构来保存,而网页之间的链接关系也会予以保存。之所以要保存链接关系,是因为这种关系 在网F相关性排序阶段是可利用的,通过"链接分析"可以判断页面的相对重要性,对于为用 户提供准确的搜索结果帮助很大。

    由于网页数量太多,搜索引擎不仅需要保存网页原始信息,还要存储一些中间的处理结果 使用单台或者少量的机器明显是不现实的。Google等商业搜索引擎为此开发了一整套云存储与 云计算平台,使用数以万计的普通廉价PC搭建了海量信息的可靠存储与计算架构,以此作为搜索 引擎及其相关应用的基础支撑。优秀的云存储与云计算平台已经成为大型商业搜索引擎的核心 竞争力。 上面所述是搜索引擎如何获取并存储海量的网页相关信息,这些功能因为不需要实时计 算,所以可以被看做是搜索弓I擎的后台计算系统。

(c)查询词分析

    搜索引擎的最重要目的是为用户提供准确全 面的搜索结果,如何响应用户査询并实时地提供准确结果构成了搜索引擎前台计算系统。 当搜索引擎接收到用户的査询词后,首先需要查询词进行分析,希望能够结合查询词和 用户信息来正确推导用户的真正搜索意图。在此之后,首先在缓存中査找,搜索引擎的缓存系 统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则 可以直接将搜索结果返回给用户,这样既省掉了重复计算对资源的消耗,又加快了响应速度; 

(d)搜索结果排序

    如果保存在缓存的信息无法满足用户需求,搜索引擎需要调用"网页排序"模快功能,根据用 户的査询实时计算哪些网页是满足用户信息需求的,并排序输出作为搜索结果。而网页排序最 重要的两个参考因素中,一个是内容相似性因素,即哪些网页是和用户查询密切相关的;另外 一个是网页重要性因素,即哪些网页是质量较好或者相对重要的,这点往往可以从链接分析的 结果获得。结合以上两个考虑因素,就可以对网页进行排序,作为用户查询的搜索结果。


 

你可能感兴趣的:(Search,Engine)