`

百度如何能实时检索到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

分享到:
评论

相关推荐

    百度地图poi检索demo

    【百度地图POI检索Demo详解】 ...通过学习和理解“百度地图POI检索Demo”,开发者不仅可以快速集成百度地图的POI检索功能,还能进一步了解地图服务的开发流程和技巧,为创建功能丰富的地图应用打下坚实基础。

    仿百度拼音检索有注释

    【标题】"仿百度拼音检索有注释"指的是一个编程项目,其目的是模仿百度搜索引擎的拼音检索功能,并在代码中提供了详细的注释,以便于学习和理解。这个项目旨在帮助开发者掌握如何通过拼音进行高效、实时的搜索,提升...

    百度地图周边检索

    【百度地图周边检索】是利用百度地图API进行的一项功能,主要目的是在地图上搜索特定位置周围的兴趣点(POI,Points of Interest),如餐馆、商店、公园等。这个功能广泛应用于移动应用、网站以及各类地理位置服务中...

    百度地图类库 检索控件.zip

    用户可以通过这个控件方便地进行地理位置信息的查找,无论是寻找特定的城市,还是在当前地图区域内进行关键词检索,甚至是查询公交或驾车路线,`SearchControl`都能提供相应的支持。 在实现城市列表选择功能时,`...

    百度网盘文件夹目录生成软件,一键生成百度云盘的文件及文件夹树形目录结构。自己再结合excel进行编辑,很精美的目录就有了

    首先,标题提到的“百度网盘文件夹目录生成软件”是一个专门设计用于自动化生成百度网盘内文件和文件夹结构的工具。这类软件通常简化了手动整理和查看云端文件的过程,使得用户可以快速地获取整个目录的鸟瞰图,这...

    百度云 lbs 存储检索 Android

    3. **存储服务**:百度云LBS提供了数据存储的功能,允许开发者将地理位置数据存储到云端,便于后续的检索和分析。存储可能涉及点、线、面等多种地理对象,以及相关的业务信息。数据模型设计和数据结构优化是提高存储...

    百度地图poi搜索+自动检索附近地址

    自动检索附近地址是利用了百度地图的实时定位功能,结合POI检索。用户开启应用后,系统会获取用户当前的位置信息,然后在一定范围内自动检索附近的POI,无需用户手动输入位置信息。 4. **实现步骤** - **集成百度...

    百度云lbs 存储检索

    开发者需要在代码中配置自己的百度云API Key,以确保服务能正常运行并连接到百度云服务器。 文件名"Fuwu2"可能是代码库或者资源文件的一部分,具体功能无法直接推断,但很可能包含了与百度云LBS服务交互的相关代码...

    百度地图类库 检索信息窗口类.zip

    百度地图API是一套开放的Web服务接口,允许开发者通过JavaScript、Android SDK、iOS SDK等方式调用,实现在网页或移动应用中嵌入百度地图的功能。信息窗口是百度地图API中的一个重要组件,它通常用于展示地图上的...

    基于BM25、BGE检索算法的检索增强生成RAG示例,支持OpenAI风格的大模型服务.zip

    在当前的IT领域,检索增强生成(Retrieval-Augmented Generation,简称RAG)是一种混合了检索和生成技术的方法,广泛应用于问答系统、聊天机器人和文本生成等任务。本示例着重介绍了如何利用BM25和BGE检索算法来提升...

    15 种高级 RAG 技术 从预检索到生成

    我们关于检索增强生成 (RAG) 的入门文章介绍了关键概念,并探讨了 RAG 系统的工作原理。在本白皮书中,我们探索了 15 种...这使我们能够测试并识别适当的优化方案,从预检索到生成,利用我们的自动化 RAG 评估管道。

    百度地图检索开发

    百度地图API提供了丰富的路线规划算法,考虑到实时交通状况、道路限行等因素,提供最优建议。开发者需要调用API接口,输入起始和目的地坐标,获取返回的详细路径信息,包括距离、时长和步骤描述,然后在地图上绘制...

    生成式和检索式对话机器人的算法设计与实现综述.pdf

    根据提供的文件内容,本文将详细阐述生成式对话机器人和检索式对话机器人的算法设计与实现的相关知识点。 首先,对话机器人的定义及其重要性。对话机器人,也称为聊天机器人,是一种能够通过自然语言与人类进行有效...

    百度地图定位检索demo

    **百度地图定位检索demo**是基于百度地图API开发的一个示例程序,主要功能是实现对各种地理位置信息的搜索。在本文中,我们将深入探讨这个demo所涉及的关键技术、使用场景以及实现原理。 首先,我们要了解**地图...

    百度地图Poi搜索功能(含自动检索附近地址)

    本文将深入探讨“百度地图Poi搜索功能(含自动检索附近地址)”,这一主题涉及到Android平台上的百度地图SDK,以及如何实现Poi(Point of Interest,兴趣点)搜索和自动定位功能。 首先,我们要了解的是**Android...

    GRS:一种面向电商领域智能客服的生成-检索式对话模型.pdf

    本文所提到的GRS模型(Generative-Retrieval-Score),即生成-检索式对话模型,是为了提升智能客服系统性能而设计的一种新型算法,它结合了检索式和生成式对话系统各自的优势。 检索式对话系统主要依赖于预先存储的...

    类似于百度检索功能 js

    在构建一个类似于百度检索功能的JS应用时,我们需要关注的核心技术包括前端的自动补全(Autocomplete)功能、JavaScript编程以及后端与数据库的交互。这个应用的主要目标是为用户提供实时搜索建议,根据用户在输入框...

    百度地图demo(实现定位与LBS检索)

    通过学习和实践这个“百度地图demo”,开发者不仅可以掌握基础的定位和检索功能,还能了解到如何结合实际需求,灵活运用百度地图SDK提供的各种功能,提升应用的实用性和用户体验。同时,结合CSDN博客的系列笔记,...

    基于网页的语料库自动生成.pdf

    基于网页的语料库自动生成可以大大提高语料库的实时性和准确性,降低人工劳动的投入,提高信息检索和机器翻译等领域的搜索结果和翻译质量。 在本文中,作者曹英和徐卫对基于网页的语料库自动生成进行了详细的介绍和...

    百度地图POI检索覆盖物相关类

    通过调用百度地图API提供的POI检索接口,开发者可以获取到用户指定区域或关键词相关的地点信息。这些信息通常包括地点名称、地址、经纬度等,可用于导航、推荐周边服务等功能。在Android中,这通常涉及到`BaiduMap`...

Global site tag (gtag.js) - Google Analytics