`

百度如何能实时检索到15分钟前新生成的网页

阅读更多

百度为何能实时检索出15分钟之前新出的新闻?58同城为何能实时检索出1秒钟之前发布的帖子搜索引擎的实时性架构,是本文将要讨论的问题。

 

二、实时搜索引擎架构

大数据量、高并发量情况下的搜索引擎为了保证实时性,架构设计上的两个要点:

1)索引分级

2dump&merge

 

索引分级

深入浅出搜索架构(上篇)介绍了搜索引擎的底层原理,在数据量非常大的情况下,为了保证倒排索引的高效检索效率,任何对数据的更新,并不会实时修改索引,一旦产生碎片,会大大降低检索效率。

 

既然索引数据不能实时修改,如何保证最新的网页能够被索引到呢?

索引分为全量库、日增量库、小时增量库

 

如下图所述:

1300亿数据在全量索引库中

210001天内修改过的数据在天库中

3501小时内修改过的数据在小时库中

 

当有修改请求发生时,只会操作最低级别的索引,例如小时库。

 

当有查询请求发生时,会同时查询各个级别的索引,将结果合并得到最新的数据

1)全量库是紧密存储的索引,无碎片,速度快

2)天库是紧密存储,速度快

3)小时库数据量小,速度也快

 

数据的写入和读取都是实时的,所以58同城能够检索到1秒钟之前发布的帖子,即使全量库有300亿的数据。

 

新的问题来了:小时库数据何时反映到天库中,天库中的数据何时反映到全量库中呢?

 

dump&merge

这是由两个异步的工具完成的:

dumper在线的数据导出

merger将离线的数据合并到高一级别的索引中去

 

小时库,一小时一次,合并到天库中去;

天库,一天一次,合并到全量库中去;

这样就保证了小时库和天库的数据量都不会特别大;

如果数据量和并发量更大,还能增加星期库,月库来缓冲。

 

三、总结

超大数据量,超高并发量,实时搜索引擎的两个架构要点:

1)索引分级

2dump&merge

 

from http://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=2651959949&idx=1&sn=83f78cf6293714bd1fd97a11ff7c2c35&chksm=bd2d07518a5a8e47e6fce9fc03cddec1d8a43f2b4ac67cfbbf73a55143593da8a132da7a0815&scene=21#wechat_redirect

分享到:
评论

相关推荐

    百度新闻开放协议插件 for PHP168.rar

    安装后请在后台权限中开启(百度新闻设置、生成百度新闻)两个权限 生成成功后可以通过你站点的网址 协议生成的文件名访问。 http://www.webwoo.net/news.xml XML标签说明: 其中带星号标记的为必选项,...

    数据结构 ppt 课件

    第9章“查找”涵盖了多种搜索策略,例如顺序搜索、二分搜索、哈希表等,这些在数据检索和信息处理中非常关键。 最后,第10章“排序”会讨论各种排序算法,如冒泡排序、选择排序、快速排序、归并排序等。排序是数据...

    智能调度平台系统技术要求.pdf

    当系统出现故障时,必须能及时切换 备用服务器以快速恢复系统正常工作,备用服务器启动时候 小于15分钟。 7.3须有相应的应急方案,以便在3G网络故障或局域网络故障时 能保证正常的生产工作。 7.4系统必须能接收车载...

    仿淘宝网程序无错版

    易想商城有CMS增加频道功能,能够容易的把商城系统扩展成资讯网站多风格自由切换,全站经过专业的优化处理,让你的网站在百度上轻易的就能找到。易想多用户商城为您提供了先进的网友开店交流平台,功能参考了拍拍网...

    计算机应用技术(实用手册)

    Press f8 for bbs popup 按F8弹出BBS网页 Press ALT+F2 to boot from system Recovery 按ALT+F2进入根录进行设置 PC2-4300 Dual Channel interleaved 双通道技术 Initializing usb Controllers..done 装载USB控制 ...

Global site tag (gtag.js) - Google Analytics