倒排文件索引技术
1、什么是倒排文件
在搜索引擎收集完数据的预处理阶段,搜索引擎往往需要一种高效的数据结构来对外提供检索服务。而现行最有效的数据结构就是“倒排文件”。倒排文件简单一点可以定义为“用文档的关键词作为索引,文档作为索引目标的一种结构(类似于普通书籍中,索引是关键词,书的页面是索引目标)
2、倒排文件分类
(1)文档级倒排文件 文档级倒排文件,索引分为两类: 第一部分词表:包含词x的文档数量和指向到排表的指针 第二部分倒排表:由文档ID号d和文档中词x出现的次数fx组成的序列
3、倒排文件压缩
由于倒排列表是以排序的方式进行存储的,因此在查询估计过程中对倒
排列表进行排序的开销巨大;倒排列表的存储空间变化较大,导致倒排文件的大小范围可以从原文本大小的50%增加到 300%。
压缩方式:有参编码Gamma,Delta 编码和无参编码Golomb 编码;
4、基于倒排文件的自索引
压缩索引减少了索引的空间消耗,读取和解压一个已压缩的索引比读一个未压缩的倒排索引更能节省磁盘访问时间,压缩索引减少了索引的空间消耗,读取和解压一个已压缩的索引比读一个未压缩的倒排索引更能节省磁盘访问时间,自索引技术一定程度地克服了上述矛盾。
对索引列表中文档号 d 与词出现的次数 fx,t 形成的〈d,fx〉序列对的集合,先对文档号进行 d-gap 压缩,然后将〈d,fd〉序列对以一定的数量进行分组,插入忽略信息〈di,ai〉.进一步将插入的忽略信息〈di,ai〉中的地址 ai 采用 d-gap 压缩以提高空间效率。
例:当输入列表中包含d的文档时,首先将插入的第一个忽略信息解压