什么是倒排索引?倒排的概念是什么?

2954次阅读

倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。


倒排列表概念

倒排列表用来记录有哪些文档包含了某个单词。一般在文档集合里会有很多文档包含某个单词,每个文档会记录文档编号(DocID),单词在这个文档中出现的次数(TF)及单词在文档中哪些位置出现过等信息,这样与一个文档相关的信息被称做倒排索引项(Posting),包含这个单词的一系列倒排索引项形成了列表结构,这就是某个单词对应的倒排列表。右图是倒排列表的示意图,在文档集合中出现过的所有单词及其对应的倒排列表组成了倒排索引。

在实际的搜索引擎系统中,并不存储倒排索引项中的实际文档编号,而是代之以文档编号差值(D-Gap)。文档编号差值是倒排列表中相邻的两个倒排索引项文档编号的差值,一般在索引构建过程中,可以保证倒排列表中后面出现的文档编号大于之前出现的文档编号,所以文档编号差值总是大于0的整数。如图2所示的例子中,原始的 3个文档编号分别是187、196和199,通过编号差值计算,在实际存储的时候就转化成了:187、9、3。


之所以要对文档编号进行差值计算,主要原因是为了更好地对数据进行压缩,原始文档编号一般都是大数值,通过差值计算,就有效地将大数值转换为了小数值,而这有助于增加数据的压缩率。

倒排索引概念

倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。通过倒排索引,可以根据单词快速获取包含这个单词的文档列表。倒排索引主要由两个部分组成:“单词词典”和“倒排文件”。
  
倒排索引倒排索引
倒排索引有两种不同的反向索引形式:
  一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。
  一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。
  后者的形式提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建。
  现代搜索引擎的索引都是基于倒排索引。相比“签名文件”、“后缀树”等索引结构,“倒排索引”是实现单词到文档映射关系的最佳实现方式和最有效的索引结构。





本文由夫唯SEO特训营编辑整理。

搜外专注SEO培训和SEO周边Saas服务解决方案,10年来超过五万学员在此获得技术提升和人脉圈子。

SEO课程包含移动搜索、零基础建站、群站SEO思维、搜外6系统、SEM入门等。

189期B班报名时间4月15日-4月30日,请添加招生客服小沫微信:seowhy2021。 微信扫码添加客服人员

我们的目标是:让非技术人员轻松学会互联网技术。

  • 搜外会员SEO交流群(免费)

    微信扫码添加客服人员
  • 小程序运营交流群(免费)

    微信扫码添加客服人员
  • 搜外会员SEM竞价交流群(免费)

    微信扫码添加客服人员
  • 夫唯学员SEO交流群(VIP)

    微信扫码添加客服人员

扫码获取资源

微信扫码添加客服人员
  • SEO技术实战微信群

    微信扫码添加客服人员
  • 大站流量总监群(审核身份)

    微信扫码添加客服人员
  • Google独立站英文SEO群

    微信扫码添加客服人员
  • SEO团队KPI管理表格

    微信扫码添加客服人员
  • 工业品网站友情链接群

    微信扫码添加客服人员
  • 本地生活服务业友链群

    微信扫码添加客服人员

跟夫唯老师系统学习群站SEO
成为互联网运营推广大咖

掌握SEO技巧、建站前端、群站霸屏、SEM入门、新闻源推广……
Processed in 0.133591 Second , 52 querys.