seo

http://www.seowhy.com/45_14_zh.html

百度搜索的工作原理是什么

2011.04.12<wbr><span style="vertical-align: baseline; margin-top: 0px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 22px; background-image: url(http://www.cdseo8.com/wp-content/themes/loper1.1/images/singleimg.jpg); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: 0px -66px; background-repeat: no-repeat no-repeat;"><a href="http://www.cdseo8.com/157.html#respond" title="百度搜索的工作原理是什么 上的评论">No Comments</a></span></wbr>

百度搜索的工作原理大体上可以分成三个阶段。
(1)爬行和抓取:百度蜘蛛通过跟踪链接访问网页,获得页面HTML代码存入数据库。
(2)预处理:索引程序对抓取来的页面数据进行文字提取、中文分词、索引等处理,以备排名程序调用。
(3)排名:用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。

下面详细介绍百度搜索的工作原理:

一、爬行和抓取

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 百度搜索用来爬行和访问页面的程序被称为蜘蛛(spider)。百度蜘蛛访问网站页面时类似于普通用户使用的浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库。为了提高爬行和抓取速度,百度搜索都是使用多个百度蜘蛛并发分布爬行。蜘蛛访问任何一个网站时都会先访问网站根目录下的robots.txt文件,如果robots.txt文件禁止百度搜索抓取某些文件或者目录,蜘蛛将遵守协议,不抓取被禁止的网址内容。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>为了抓取网上尽量多的页面,搜素引擎蜘蛛会跟踪页面上的链接,从一个页面爬行到下一个页面,就好像蜘蛛在蜘蛛网上爬行一样,这就是百度蜘蛛名称的由来。百度蜘蛛最简单的爬行方式分为两种:深度优先、广度优先</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 深度优先:蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面,沿着另一个链接再一直往前爬行。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 广度优先:蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。<wbr><wbr>通常这两种爬行方式是混合使用的。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>为了避免重复爬行和抓取网址,百度搜索会建立一个地址库,记录已经被发现还没有抓取的页面和已经被抓取的页面。<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

二、预处理

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 提取文字:百度搜索预处理首先要做的就是从HTNL文件中去除标签、程序,提取出可以用于排名处理的网页文字内容(还包括META标签中的文字、图片替代文字、FLASH文件替代文字、链接锚点文字等)。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 中文分词:中文分词一般分为两类:字典匹配、基于统计。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>字典匹配:将待分析的一段汉字与一个事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>基于统计:分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>去停止词:百度搜索在索引页面之前会去掉一些停止词,如:“的”、“地”、“得”之类的助词,“啊”、“哈”、“呀”之类的感叹词,“从而”、“以”、“却”之类的副词或介词。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 消除噪声:百度搜索需要识别并消除噪声,排名时不使用噪声内容,基本方法是根据HTML标签对页面分块,区分出页头、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声,对页面消噪后剩下的才是页面的主体内容。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 去重:同一篇文章经常重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢则好重啊个重复性的内容,搜索引擎希望只返回相容文章的一篇,所以在惊醒索引前还需要识别和删除重复内容,这个过程就成为“去重”。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 正向索引:百度搜索索引程序将页面及关键字形成词表结构存储进索引库,每个文件都对应一个文件ID,文件内容被表示为一串关键词的组合。实际上在百度搜索索引库中,关键词也已经转换成为关键词ID,这样的数据结构就称为正向索引。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>倒排索引:百度搜索将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 链接关系计算:主要体现就是Google的PR值,搜狗的SR值等</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 特殊文件处理:百度搜索有时也会抓取除HTML文件以外的文件,如:PDF、Word、WPS、XLS、PPT、TXT文件等</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr>三、排名</wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>搜索词处理:中文分词,去停止词,指令处理(及分词后的关键词逻辑关系,通常是“与”逻辑),拼写错误矫正,整合搜索触发(某些搜索词会触发整合搜索,如明星姓名经常会触发图片和视频内容)。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 文件匹配:搜索词经过处理后,百度搜索得到的是以词为基础的关键词集合,文件匹配阶段就是找出含有所有关键词的文件。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 初始子集的选择:经过匹配后的文件经常会有几十万几百万甚至上千万,但百度搜索只需要计算前1000个结果的相关性,就能满足要求,这就依赖与页面的相关性和页面权重。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 相关性计算:影响相关性的因素:关键词常用程度,词频及密度,关键词位置及形式(如标题标签、黑体、H1等),关键词距离,链接分析及页面权重</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 排名过滤及调整:一些有嫌疑的页面,虽然按照正常的权重和相关性计算排到前面,但百度搜索却可能在最后把这些页面调到后面去。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 排名显示:所有排名确定后,排名程序调用原始页面的标题标签、说明标签、快照日期等数据显示在页面上。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 搜索缓存:百度搜索把最常见的搜索词存入缓存,用户搜索时直接从缓存中调用,从而不必经过文件匹配和相关性计算,大大提高了排名效率。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>查询及点击日志:搜索用户的IP地址、关键词、搜索时间以及点击了哪些结果页面,百度搜索都记录形成日志,这些日志文件中的数据对百度搜索判断搜索结果质量、调整搜索算法、预期搜索趋势等都有重要意义。</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

上面介绍的百度搜索的工作原理非常简单,实际上百度搜索的工作原理是非常复杂的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值