什么是搜索引擎的正排索引?

  • 1,840 views
  • 阅读模式

搜索引擎工作原理

第一步:是搜集,搜索引擎制作会爬行抓取大量的网页收集起来;

第二步:建立索引,搜索引擎蜘蛛在经历了第一步之后,收集了一大批的网页,搜索引擎把这一批网页抓取过来之后,很显然要进行一下处理,处理过程是非常复杂的,简单的讲就是建立正排索引和倒排索引了;

第三步:就是根据用户的搜索词进行展现。
正排索引也称为“前向索引”。它是创建倒排索引的基础,具有以下字段。

(1)Localld字段(表中简称“Lid”):表示一个文档的局部编号。

(2)Wordld字段:表示文档分词后的编号,也可称为“索引词编号”。

(3)NHits字段:表示某个索引词在文档中出现的次数。

(4)HitList变长字段:表示某个索引词在文档中出现的位置,即相对于正文的偏移量。

搜索引擎是个软件,他是看不懂网页的内容的,他看到的一个网页就是一堆的词。

可以这样看:

网页A=关键词1+关键词2+关键词3+关键词4+关键词5+关键词6+关键词7+.......

网页B=关键词2+关键词5+关键词+关键词12+关键词56+关键词36+关键词99+.....

网页C=关键词1+关键词3+关键词6+关键词9+关键词55+关键词65+关键词98+.....

网页D=

网页E=

由于一篇文章中的某些词可能出现多次,而且位置不同,而全文检索的本质要求是把这些位置标识出来,因此HitList中的每个命中都表示索引词在文档的某个位置中出现了一次,这个序列为单调递增序列。基于游程编码的方法,变升序序列为差分序列,采用前文提到的Variable Byte Coding方法编码可以大大压缩正排索引的HitList字段。

事实上,文档编号在不同的计算过程里,分别称为局部编号和全局编号,它们在编号长度上稍有不同,为了便于理解,不区别这些区别,认为Localld和Docld完全一致,都表示一个文档的唯一编号。在正排索引中Localld采用升序序列编号(假定编号采用自增1的方式递增),这为下面的计算创造条件。进行倒排索引的转化时,由于正排索引中Lid天然的有序性,因此在正排索引转化为倒排索引的创建过程中,自然可以保证倒排索引中每个词汇对应的文档编号也是有序的。

本质上说,正排索引以文档编号为视角看待索引词,也就是通过文档编号去找索引词。任给一个文档编号,能够知道它包含了哪些索引词、这些索引词分别出现的次数,以及索引词出现的位置。然而全文索引是通过关键词来检索,而不是通过文档编号来检索,因此正排索引不能满足全文检索的要求。

虽然正排索引不能满足全文检索的需要,但是正排索引为创建倒排索引创造了有利条件,是计算倒排索引的不可缺少的一环。

weinxin
虎纠自媒体官方微信
这是我的微信扫一扫
f9seo
  • 本文由 发表于 2018年6月23日12:46:57
  • 转载请务必保留本文链接:https://www.f9seo.com/post-1674.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定