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

简介: 本文描述的是Search&Index如何实时修改和检索,Spider子系统如何能实时找到全网新生成的网页,又是另外一个问题,未来撰文讲述。

一、缘起

《深入浅出搜索架构(上篇)》详细介绍了前三章:

(1)全网搜索引擎架构与流程

(2)站内搜索引擎架构与流程

(3)搜索原理与核心数据结构

《深入浅出搜索架构(中篇)》介绍了:

(4)流量数据量由小到大,常见搜索方案与架构变迁

(5)数据量、并发量、扩展性架构方案

本篇将讨论:

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

二、实时搜索引擎架构

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

(1)索引分级

(2)dump&merge

索引分级

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

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

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

如下图所述:

(1)300亿数据在全量索引库中

(2)1000万1天内修改过的数据在天库中

(3)50万1小时内修改过的数据在小时库中

image.png

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

image.png

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

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

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

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

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

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

dump&merge

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

image.png

dumper:将在线的数据导出

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

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

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

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

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

三、总结

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

(1)索引分级

(2)dump&merge

如《深入浅出搜索架构(上篇)》中所述,全网搜索引擎分为Spider, Search&Index, Rank三个部分。本文描述的是Search&Index如何实时修改和检索,Spider子系统如何能实时找到全网新生成的网页,又是另外一个问题,未来撰文讲述。

==【完】==

目录
相关文章
|
安全 Unix Linux
linux命令之rmdir
linux命令之rmdir
844 5
|
网络协议 应用服务中间件 Linux
Go 语言 Web 应用怎么使用 Nginx 部署?
Go 语言 Web 应用怎么使用 Nginx 部署?
633 0
|
安全 Java C++
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(上)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计
293 0
|
弹性计算 Android开发
初识ECS,一些闲谈
准大四学生,学习Linux之余接触到"飞天加速计划"。感谢阿里云提供的免费云服务器,让我得以开启了新的学习之路。
388 0
|
人工智能 资源调度
[詹兴致矩阵论习题参考解答]习题2.7
7. (Marcus-Ree) 一个非负矩阵称为是双随机的, 若它的每行元素之和等于 $1$, 且它的每列元素之和也等于 $1$. 设 $A=(a_{ij})$ 为 $n$ 阶双随机矩阵, 则存在 $1,2,\cdots,n$ 的一个排列 $\sigma$ 使得对每个 $i=1,\cdots,n$,...
802 0
|
7天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
|
8天前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
1840 15
|
14天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)
|
7天前
|
人工智能
千问办公官网入口:阿里AI办公QwenWork产品页和免费网页端链接
千问办公官网含两大入口:一是网页端(qwenwork.cn),即开即用,支持浏览器直接访问;二是阿里云产品页 https://t.aliyun.com/U/JNKJuO 提供免费/付费版详情、功能介绍及使用指南。
|
13天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1659 3