您的位置:首页 > 运维架构 > 网站架构

搜索引擎架构浅析

2012-06-14 18:39 176 查看
搜索引擎,大家日常常用到,其实本来一件挺简单的事情,但由于数据海量的原因,把本来简单的搜索架构给整的复杂了,今天就收集了一些资料,给大致整理一下。
下图是一个通用的搜索引擎架构图,我们对着图来讲:



从右边用户的角度看:
(1)用户输入查询词后,引擎会首先对查询词进行分析,希望能够结合查询词和用户信息来正确推导用户的搜索意图。
(2)引擎会首先在缓存中查找,缓存系统存储了不同的查询意图对应的搜索结果,如果能够在缓存系统找到满足用户需求的信息,则可以直接将搜索结果返回给用户,否则就进入步骤3。
(3)缓存系统无法满足用户的查询请求,则调用“网页排序”模块功能,根据用户的查询请求实时计算哪些网页是满足用户信息需求的,并排序输出作为搜素结果。
(4)网页排序最重要的两个参考因素中,一个是内容相似性因素,即哪些网页是和用户查询密切相关的。第二个就是网页重要性因素,这个可以从链接分析的结果中获得。
(5)”反作弊“模块主要是为了消除通过作弊手段来提高网页排名的网页信息,提高网页的真实搜素信息。

从左边搜索引擎的角度来看:
(1)搜索引擎的信息是来自互联网的,通过网络爬虫将整个互联网的信息获取到本地。
(2)互联网中的网页中有相当大比例的内容是重复的或者近似重复的,“网页去重”模块会做这部分去重的工作。
(3)接下来,搜索引擎会对网页进行解析,提取出网页的主体内容,以及网页中包含的指向其他页面的链接。
(4)网页内容通过“倒排索引”这样高效的查询数据结构来保存,加快相应用户的查询请求。
(5)最后,网页之间的链接信息也会保存,因为这种关系在网页相关性排序阶段是可利用的,通过“链接分析”可以判断网页的相对重要性,对于为用户提供准确的搜素结果是有很大帮助的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: