前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度一下,背后可不只是简单的一下(上篇)

百度一下,背后可不只是简单的一下(上篇)

作者头像
张叔叔讲互联网
发布2018-10-29 16:27:22
6830
发布2018-10-29 16:27:22
举报
文章被收录于专栏:张叔叔讲互联网

今天张叔叔给大家科普一下百度一下是如何实现的。百度被称为中国最大的搜索引擎,全球最大的中文搜索引擎,这个的确不是吹嘘。百度每天处理的搜索请求量都是百亿级别,可以用手指数一下“个十百千万...”,你会惊奇的发现,十个手指头都不够百亿单位。

什么是引擎?引擎可以直接理解为发动机,百度搜索引擎顾名思义就是百度为搜索提供的发动机,借此为大家提供孜孜不倦的搜索服务,满足大家每天的搜索请求。搜索引擎到底如何实现的呢,带着问题和好奇心跟张叔叔一起学习吧。

搜索引擎最终提供给大家的是各种各样的搜索结果,那么这些结果从哪来的?简而言之就是通过网络爬虫从网络上爬取的,具体网络爬虫是如何工作的,可以参见叔叔之前的文章《什么是网络爬虫,每天都在忙乎什么》。百度每天都有海量的网络爬虫在计算机网络中忙碌着,它们从各种网站上爬取网页,图片,视频等等信息。这些信息获取到之后,百度可不是简单的就存储到自己的服务器上面,他们要做很多事情来保证我们可以搜索到这些内容。为了讲解方便,叔叔后面就以网页检索为例。

先开动脑筋思考一个问题,如果放在你面前一本书,如何快速的找到这本书中所有的成语“滴水穿石”所在的页码?是不是能想到的唯一方法就是翻遍整本书,一页一页的去查找成语的位置,如果这本书很薄还好,如果像《西游记》原著那么厚,我想找到所有页码大概得需要一整天时间了。如果换个场景,叔叔给你一本词典,让你找到词典中的成语“滴水穿石”,你大概需要多久?是不是不到一分钟就可以找到了。

为什么词典会比一页一页翻书查找得更快?原因很简单,是因为词典前面有一个目录,可根据首字母进行查找,通过首字母可以大大的缩小查找范围,这样便可以快速的找到你要查找的词语了。百度通过网络爬虫获取到海量的网页内容,如果把每一个网页想象成一页纸,那么百度每天就是在一本拥有上亿页的书中帮大家查询内容。为了提高查询的速度,同样需要创建类似于词典中的目录,不过百度搜索引擎中这个东西叫作索引。

索引如何构建的?如果此刻你想到了这个问题,说明你很爱思考。假设今天百度爬虫获取到了两个网页内容A和B,A中讲述的是赵丽颖和冯绍峰结婚了,B中讲述的是赵丽颖的新电影《张叔叔的美好时光》。当百度获取到这两个网页之后,首先提取出网页中的文字内容然后进行分词处理。分词是什么?分词就是把句段篇分割成字词。比如A网页就会被分词成为赵丽颖、冯绍峰、结婚等,B网页被分词成为赵丽颖、张叔叔、美好时光等。此刻我们就得到了一个网页与分词的对应关系,主谓关系是网页包含词语。索引的构建正好是相反的关系,百度会记录赵丽颖这个词语出现在了哪些网页中,很明显赵丽颖出现在了网页A和网页B中,冯绍峰出现在网页A中,张叔叔出现在网页B中。这个地方就好比创建了词典中的目录,当你想查找赵丽颖的时候,可以快速定位到网页A和网页B。索引创建好之后可以支持快速检索了,我们输入的搜索内容百度如何处理的呢?

出于八卦,今天你在百度搜索中填写了“赵丽颖和冯绍峰啥时候结婚的”,你点击“百度一下”按钮之后,你的搜索请求通过计算机网络传递到了百度服务器,百度服务器首先会对你的搜索内容也进行分词处理,最终分词结果为赵丽颖、冯绍峰、时候、结婚。那么通过索引可以快速的获取到赵丽颖所在的网页A和B,冯绍峰获取到了网页A,时候和结婚分别也获取到了各自的网页。对于这四个词所在的网页求交集(交集就是大家都拥有的),最终发现A是最满足条件的结果,百度就把网页A返回给了你,当你点击打开A网页之后就看到了你想看到的信息。

那么如果只输入赵丽颖进行搜索,岂不是要返回网页A和网页B,那么返回顺序如何决定呢?百度搜索结果中的广告是如何返回的?是不是还要很多疑问,哈哈,且听下文分解。

欢迎转载,为社会主义建设添砖加瓦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 张叔叔讲互联网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档