索引压缩的方法和装置制造方法及图纸

技术编号:2918667 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了索引压缩的方法和装置,包括索引标识压缩的方法、装置和索引位置数据压缩的方法、装置。索引标识压缩的方法包括:读取第一索引标识,判断所述第一索引标识的数值的所属范围,通过所述判断出的所属范围确定出标记和长度单位;用所述确定出的长度单位表示的第一索引标识数值作为第二索引标识;使用所述第二索引标识、及确定出的标记共同替换所述第一索引标识。通过本发明专利技术的索引压缩的方法和装置,在压缩索引数据时,能产生较高的压缩比。能够有效降低索引数据所占用的磁盘空间和内存,减少磁盘与内存间的输入/输出读写量;提高查询响应速度。

【技术实现步骤摘要】

本专利技术涉及搜索
,特别是指索引的压缩方法和装置。
技术介绍
在计算机
中,互联网技术得到快速发展。随着网络资源越来越多,搜索引擎技术得到快速发展。在搜索引擎技术中,后台索引技术是最为核心的技术,后台索引技术的性能直接关系到检索的速度、结果。在后台索引技术中,传统的文件索引主要是用倒排文件来实现。倒排文件的结构是保存每个检索的关键词和包含关键词的文档信息。检索的过程是对特定的检索串,在较短的时间内找出所有包含该检索串的文档集合。其中,检索串是用户进行检索需要输入的检索表达式,它可以包含一个或者多个关键词,中间用空格隔开。在互联网搜索中,关键词之间空格表示其前后的关键词将进行逻辑与检索操作。这里所提到的关键词,是用一个或者多个语素组成的字符串。关键词通过分词系统,可以被继续切分。如果切分为两个语素,则又称成该关键词为2元复合语素;如果切分出3个语素,则成为3元复合语素。语素是最小能够表达独立语义的语言单位,它是不可再分的。在中文中,它为分词系统中切分出了的中文词;在英文中,它是基本的英文单词或者字母。检索出的文档集合通常用文档编号、即索引标识(ID)列表来表示。文档ID是对被检索的文档集合进行唯一编号,保证每个文档对对应一个唯一的ID,帮助定位该文档。如图1所示,其中,t表示一个被检索的关键词,包含该t的所有文档构成一个集合,di表示该t的一系列文档ID,Wdi,t表示关键词t在文档di中的权值,loci表示t在文档d中出现的位置偏移(offset)。倒排索引文件就是由N个如图1所示的数据项组成,N的数量等于整个文档集合在进行检索的过程中得到所有不同的关键词总和。为增加压缩效果,一般在进行压缩前先改写倒排文件的索引内容,索引内容是指倒排文件中各个索引数值,如di,loci等。将索引数值按照大小排序,然后用差值而非实际值表示(d-gap)。如d1,d2,d3,d4=(1,5,7,9),用差值表示后为d1,d2,d3,d4=(1,4,2,2)。每个di等于自身位置的值与前面值的和,如d3=d1+d2+d3=7。在进行差值表示之后,将索引数值进行压缩。目前的压缩方法可以分为固定长度的和变长压缩。对于目前的压缩方法,主要有UNARY(一元编码)压缩方法、Elias压缩方法和Golomb压缩方法,采用这些压缩方法进行压缩时,由于其压缩算法自身的限制,压缩率只能达到10%左右,因此,目前采用这些压缩方法在对索引压缩的效果并不理想。
技术实现思路
有鉴于此,本专利技术在于提供索引压缩的方法和装置,以解决上述压缩方法对索引数据的压缩效果差的问题。为解决上述问题,本专利技术提供一种索引标识压缩的方法,读取第一索引标识,判断所述第一索引标识的数值的所属范围,通过所述判断出的所属范围确定出标记和长度单位;用所述确定出的长度单位表示的第一索引标识数值作为第二索引标识;使用所述第二索引标识、及确定出的标记共同替换所述第一索引标识。其中,所述第一索引标识、第二索引标识和标记为二进制比特序列。其中,判断所述第一索引标识的数值的所属范围的过程包括按照第一索引标识的比特序列的数值进行判断,判断所述第一索引标识的数值属于相应的数值区间或非确定性数值区间。其中, 如果判断出所述第一索引标识的数值属于相应的数值区间,则通过所述判断出的所属范围确定出标记和长度单位的过程包括获取所述数值区间唯一对应的固定标记和固定长度单位,将获取的所述唯一对应的固定标记和固定长度单位作为所述确定出的标记和长度单位。其中,所述共同替换所述第一索引标识包括在第二索引标识前添加所述确定出的标记,将所述添加标记后的第二索引标识作为所述第一索引标识。其中,如果判断所述第一索引标识的数值属于非确定性数值区间,则通过所述判断出的所属范围确定出标记和长度单位的过程包括将所述第一索引标识的数值所属字节占用的比特位数,按照数值区间中的最大数值区间所占的比特位数划分出比特段;获取最后一个不可再划分的比特段中比特序列的值,通过判断该值所对应的数值区间,得到唯一对应的固定标记和固定长度单位;将所述划分出的比特段所对应的循环标记、所述最后一个比特段的固定标记共同作为所述确定出的标记,将所述所属字节占用的比特位数作为可变长度单位,将可变长度单位作为所述确定出的长度单位。其中,所述共同替换所述第一索引标识包括将所述第二索引标识,按照数值区间中的最大数值区间所占的比特位数划分出比特段,在划分出比特段前添加循环标记,在最后一个不可划分的比特段前添加确定出的固定标记,将添加完固定标记和循环标记的第二索引标识替换所述第一索引标识。本专利技术提供一种索引标识压缩的装置,包括读取单元,用于读取第一索引标识;判断单元,用于判断所述第一索引标识的数值所属范围;运算单元,用于通过所述判断出的所属范围确定出标记和长度单位;转换单元,用于将所述确定出的长度单位表示的第一索引标识的数值作为第二索引标识;替换单元,用于使用所述第二索引标识、及所述确定出的标记共同替换所述第一索引标识。本专利技术提供一种索引位置数据压缩的方法,包括将文档划分为预定数量的区段,在所述预定数量的区段中检索字符,并标识每个区段中是否存在所述字符,将检索后得到的所述标识作为第一索引位置数据;通过第一索引位置数据获得存在所述字符的区段数量,判断所述获得的区段数量所属的数量范围,通过判断出的所述数量范围确定出标记和长度单位;按照所述确定出的长度单位表示第一索引位置数据中存在所述字符的区段,将表示后的结果作为第二索引位置数据;使用所述第二索引位置数据、及确定出的标记共同替换所述第一索引位置数据。其中,所述第一位置数据、第二位置数据、标记为二进制比特序列。其中,判断所述获得的区段数量所属数量范围的过程包括判断所述获得的区段数量属于相应的数量区间或非确定性数量区间。其中,如果判断出所述获得的区段数量属于相应的数量区间,则所述通过判断出的所述数量范围确定出标记和长度单位的过程包括获取所述数量区间唯一对应的固定标记和固定长度单位,将获取的所述唯一对应的固定标记和固定长度单位作为所述确定出的标记和长度单位。其中,所述共同替换第一索引位置数据的过程包括在所述第二索引位置数据前添加所确定的固定标记,将添加固定标记的第二索引位置数据替换第一索引位置数据。其中,如果判断出所述获得的区段数量属于非确定性数量区间,则所述通过判断出的所述数量范围确定出标记和长度单位的过程包括将所述预定数量的区段分组,记录各组中是否存在所述字符的组标记;将所述非确定性数量区间唯一对应的固定标记和所述组标记共同作为所述确定出的标记;将存在所述字符的区段所在组占用比特位作为所述确定出的长度单位。其中,所述共同替换第一索引位置数据的过程包括在所述第二索引位置数据前添加所确定的组标记,在组标记前添加所述确定的固定标记,将添加组标记、固定标记的第二索引位置数据替换第一索引位置数据。本专利技术还提供一种索引位置数据压缩的装置,包括第一索引位置数据单元,用于将文档划分为预定数量的区段,在所述预定数量的区段中检索字符,并标识每个区段中是否存在所述字符,将检索后得到的所述标识作为第一索引位置数据;判断单元,用于通过第一索引位置数据获得存在所述字符的区段数量,判断所述获得的区段数量所属的数量范围;运算单元,本文档来自技高网
...

【技术保护点】
一种索引标识压缩的方法,其特征在于,包括:读取第一索引标识,判断所述第一索引标识的数值的所属范围,通过所述判断出的所属范围确定出标记和长度单位;用所述确定出的长度单位表示的第一索引标识数值作为第二索引标识;使用所述第 二索引标识、及确定出的标记共同替换所述第一索引标识。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙良
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1