数据结构11——倒排索引(基于属性倒排)

有需求,才有创造

需求:不仅需要按关键码值查找,还需要按照属性值(其他指标)来查找记录

因此聪明的人创造出了倒排索引

倒排索引并不是由记录关键码来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)

举例

不是由学号确定英语成绩,而是由英语成绩确定学号

带倒排索引的文件称倒排文件(inverted file)



倒排索引分为两类:基于属性的倒排,对正文文件的倒排

先说一说基于属性的倒排

由于有时候我们需要检索结构中某个或若干个属性满足一定条件的结点



因此我们建立倒排表——倒排表(inverted list)

倒排表

1)是为有效地处理基于属性的检索而使用的存储形式

2)是基于属性的倒排

3)在保留原表的同时,对于感兴趣的(即可以用来作为检索参数的)每个属性的可能取值都建立一个称作倒排表的线性表,存放与此属性相对应的所有关键码值

4)一个倒排表是一个索引项(具体的索引值)



倒排文件

由倒排表组成的索引文件,基于倒排表的索引效率会比较高



举例

数据结构11——倒排索引(基于属性倒排)_第1张图片

第一步就是构造倒排文件,而倒排文件由倒排表组成,因此又要构造倒排表


数据结构11——倒排索引(基于属性倒排)_第2张图片

你可能感兴趣的:(数据结构11——倒排索引(基于属性倒排))