卢松松博客

站长平台lee:搜索引擎索引系统概述

 人参与 | 时间:2013年10月21日 15:59

今日,百度站长平台Lee撰文介绍了索引系统的相关问题概述。罗列出了如何能够在最快的速度内返回用户查找结果,从而提高用户体验度的相关信息。

搜索引擎索引系统概述原文如下:

众所周知,搜索引擎的主要工作过程包括:抓取、存储、页面分析、索引、检索等几个主要过程。过去几周给大家介绍了抓取相关的简要过程。今天简要介绍一下索引系统,以亿为单位的网页库中查找特定的某些关键词犹如大海里面捞针,也许一定的时间内可以完成查找,但是用户等不起,从用户体验角度我们必须在毫秒级别给予用户满意的结果,否则用户只能流失。怎样才能达到这种要求呢?

如果能知道用户查找的关键词(query切词后)都出现在哪些页面中,那么用户检索的处理过程即可以想象为包含了query中切词后不同部分的页面集合求交的过程,而检索即变成了页面名称之间的比较、求交。这样,在毫秒内以亿为单位的检索成为了可能。这就是通常所说的倒排索引及求交检索的过程。如下为建立倒排索引的基本过程:

站长平台lee:搜索引擎索引系统概述 好文分享 第1张

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

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

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

站长平台lee:搜索引擎索引系统概述 好文分享 第2张

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

2013年10月28日更新:

上面简要介绍过了搜索引擎的索引系统,实际上在建立倒排索引的最后还需要有一个入库写库的过程,而为了提高效率这个过程还需要将全部term以及偏移量保存在文件头部,并且对数据进行压缩,这涉及到的过于技术化在此就不多提了。今天简要给大家介绍一下索引之后的检索系统。

检索系统主要包含了五个部分,如下图所示:

站长平台lee:搜索引擎索引系统概述 好文分享 第3张

(1)Query串切词分词即将用户的查询词进行分词,对之后的查询做准备,以“10号线地铁故障”为例,可能的分词如下(同义词问题暂时略过):

10 0x123abc

号 0x13445d

线 0x234d

地铁 0x145cf

故障 0x354df

(2)查出含每个term的文档集合,即找出待选集合,如下:

0x123abc 1 2 3 4 7 9…..

0x13445d 2 5 8 9 10 11……

……

……

(3)求交,上述求交,文档2和文档9可能是我们需要找的,整个求交过程实际上关系着整个系统的性能,这里面包含了使用缓存等等手段进行性能优化;

(4)各种过滤,举例可能包含过滤掉死链、重复数据、色情、垃圾结果以及你懂的;

(5)最终排序,将最能满足用户需求的结果排序在最前,可能包括的有用信息如:网站的整体评价、网页质量、内容质量、资源质量、匹配程度、分散度、时效性等等,之后会详细给大家介绍。

文章来源:百度站长平台

相关文章:搜索引擎抓取系统概述


顶: 0踩: 0

来源:,欢迎分享,(QQ/微信:13340454)

必填

选填

选填

◎已有 3 人评论,微信:QQ13340454

1楼美女高清  2014-01-15 16:37:25
不明觉厉
顶: 0踩: 0 回复
2楼囧闻  2014-01-08 13:27:29
都洗洗睡吧
顶: 0踩: 0 回复
3楼中山婚纱  2013-09-29 14:54:47
我们来到这个世界不重要,重要的时候是离开的时候 有多小人目送我们。
顶: 0踩: 0 回复
4楼艺馨  2012-07-19 14:03:18
活着就要好好的活着
顶: 0踩: 0 回复
5楼推广者博客  2012-07-19 10:48:25
来到这个世界还有更重要的一点:让生活的更好点。
顶: 0踩: 0 回复
6楼尼尔  2014-10-10 09:25:56
不明觉厉
顶: 0踩: 0 回复
7楼囧事  2014-01-27 18:57:17
不明觉厉
顶: 0踩: 0 回复
8楼诸葛小觉  2013-10-22 10:03:09
lee最强了!什么都有!支持一个!美好的网络环境!
顶: 0踩: 0 回复