解析百度索引系统工作原理

抖音企业认证

近期百度LEE在百度站长平台又一次发表关于搜索引擎工作原理的文章,文章主要是围绕搜索引擎索引系统展开,为我们阐述了它的工作原理,以及为什么它要这样工作。这对我们了解百度、理解SEO有重大帮助。

原文在《搜索引擎索引系统概述(一)》,大家可以去看一下。

从该篇文章中,我们能大致了解从spider蜘蛛开始抓取网页一直到建立倒叙索引,这整个过程的概况。如下图:

spider蜘蛛工作流程

从图中我们可以看出,页面分析和切词分词在这整个环节中占有非常重要的分量。

1、页面分析的过程实际上是将原始页面的不同部分进行识别并标记,例如:title、keywords、content、link、anchor、评论、其他非重要区域等等。

解析:这段的意思是,索引系统会将页面的模块以源码来区分,并且会标记它认为有用的部分。另外值得注意的是,anchor(锚文本)、评论也会被视为重点区域,这也是我们常说锚文本很重要、评论更新和相关性很重要的原因。

2、分词的过程实际上包括了切词分词同义词转换同义词替换等等,以对某页面title分词为例,得到的将是这样的数据:term文本、termid、词类、词性等等。

解析:首先解释两个概念,term文本,就是指所有分出来的词的集合;termid,就是指单个词的标识。索引过程中“切词分词”这一步骤中将得到所有的词以及其所包含的词类词性。这个过程中还包含了同义词的处理,使得同义词在搜索结果中被匹配出来。

3、之前的准备工作完成后,接下来即是建立倒排索引,形成{termàdoc},可以粗略的理解为如下,为什么是【term->doc】,而不是直接应用【doc->term】呢?

索引系统中的倒排索引过程

上述即是索引系统中的倒排索引过程,是搜索引擎实现毫秒级检索非常重要的一个环节。

解析:这段文字简单描写了索引系统中倒排索引的过程,实际索引比这复杂的多(主要就是计算相关性和权威性等)。这个过程主要是把上一步切出来并分好的词与文档进行匹配,以便用户在搜索关键词时,能以毫秒级的速度将预存的文档准确调用出来。

另外,以上内容中抛出了一个问题:为什么是【term->doc】,而不是直接应用【doc->term】。这里代明博客的理解是,一个文档有多个关键词,一个关键词也对应多个文档。由于文档是由多个关键词组成,用文档来匹配关键词,会让匹配的循环工作量大大增加,而且不容易判断出文档最适宜的关键词匹配。还有个原因是,用户一般搜索都是关键词,这样的匹配方式更容易满足用户的需求。

编者注:本文写于2013.10.22,由于系统故障而丢失,现已找回,并重新发布。

About 狂明小妖

代明,网名“狂明小妖”,代明博客博主。

发表评论

电子邮件地址不会被公开。 必填项已用*标注