新闻动态
搜索引擎缓存的系统架构
https://www.sytm.net 发布日期:2013/9/7 12:43:39

缓存是搜索引擎不可缺少的一项技术,那么一个完整的搜索引擎系统架构是什么样的呢?它又是怎样工作的呢?

当搜索引擎接收到用户查询的时候,会首先在缓存系统查找,看缓存内是否包含用户查询的的搜索结果,如果发现缓存已经存储了相同的查询的搜索结果,则从缓存内读出结果展现给用户;如果缓存内没有找到相同的用户查询,则将用户查询按照常规处理方式交由搜索引擎返回结果,并将这条用户查询的搜索结果及中间数据根据一定策略调入缓存中,这样下次遇到同样的查询可以直接在缓存中读取,以加快用户相应速度并减少搜索引擎的计算负载。

缓存系统包含两个部分,即缓存存储区及缓存管理策略。缓存存储区是高速内存中的一种数据结构,可以存放某个查询对应的搜索结果,页可以存放搜索中间结果,比如一个查询单词的倒排列表。

缓存管理策略又包含两个系统,即缓存淘汰策略和缓存更新策略。

之所以需要缓存淘汰策略,是因为不论给缓存分配多大的空间,当系统运行到一定程度,很可能缓存已经满了,当有新的需要缓存的内容要进入缓存时,需要根据一定的策略,从缓存中剔除一部分优先级别较低的缓存内容,以腾出空间供后续内容放入缓存存储区,如何选择替换项目是缓存淘汰策略需要考虑的问题。

另外,使用缓存系统是优一定风险存在的,即缓存内容和索引内容不一致问题。如果搜索引擎索引的文档集合是静态文档,这个问题是不存在的,因为既然文档集合没有发生任何变化,只搜索引擎的排序算法不更改,那么针对固定的用户查询,其对应的搜索结果是固定不变的,所以缓存里面的内容永不过期。

但是在一般应用场景中,搜索引擎要处理的文档集合是动态变化的,可能会面临新加入的文档,也可能会删除旧的文档内容变化了变化。当索引已经反映了这种变化,而缓存数据没有随着索引做出相应的变化,那么就会发生缓存内容和索引内容不一致的问题。缓存更新策略就是用来维持两者一致性的。

对缓存引擎系统来说,一个优秀的缓存系统,希望能够在以下几个方面表现出色。

1、最大缓存命中率

所谓缓存命中率,就是说一段时间内所有用户发出的查询中,有多大比例的查询对应的搜索结果是从缓存中获得的。这个比例越高,说明缓存管理策略越成功,就有效地节省了搜索引擎的计算成本。具体而言,不同的缓存淘汰策略就是采用不同算法来获得尽可能高的命中率。

2、缓存内容与索引内容保持一致性

好的缓存管理策略应该避免出现缓存内容和索引内容不一致的状况,因为这种不一致会影响用户搜索体验,所以缓存系统需要有优秀的缓存更新策略来达到这个目的。

更多阅读
  • 线上订货系统让全渠道销售触手可及 近年来,中国电商平台发展迅速,以淘宝、京东等电商为代表的新兴商业模式被越来越多的客户所推崇,中国网民...
  • 添美订货系统十月更新日志 添美订货系统是东北开发订货软件的厂商,该订货软件实现了全渠道全客户端的覆盖。拥有南方的易订货、订货宝...
  • 三好街的渠道订货系统 现如今,人们对电子数码产品的需求与日俱增,但是不少电子数码产品企业的生意却未见起色,为什么?以三好街...
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览