作者:百度站长平台lee发布时间:2013年10月28日

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

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

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

100x123abc

号0x13445d

线0x234d

地铁0x145cf

故障0x354df

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

0x123abc123479…..

0x13445d25891011……

……

……

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

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

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

原文地址:http://zhanzhang.baidu.com/wiki/221