The invention relates to a method of query processing based on IPC coding with increasing speed. The IPC encoding the index file as jump table file tree, the subtree skip read fast algorithm; in Boolean intersection query, according to the list of monotonicity (skip) to determine whether to skip certain subtrees, skip (skip) operation can save a lot of time to improve the online Boolean query processing in the processing speed; ranking query, use the common TAAT methods and continue mechanism, according to the corresponding index file ID list intersection result position can be quickly taken out and the corresponding frequency value of the processing speed is improved through the online ranking query skipped all the unnecessary access subtree means. The invention optimizes the query speed (including Boolean query and Sorting Query) according to the characteristics of IPC encoding, and optimizes the user experience of the retrieval system.
【技术实现步骤摘要】
一种提速的基于IPC编码的查询处理方法
本专利技术属于信息
,具体涉及一种提速的基于IPC编码的查询处理方法。
技术介绍
目前的检索系统里大多采用倒排索引作为处理用户查询的数据结构。倒排索引文件(IF)通常比较大,一般不能完整地放入内存,因此实际在应用时对索引文件都要进行按照某种编码进行压缩。一般来说,压缩率越高的编码在线上进行查询处理时会更加慢一些,因此所有的编码都是在空间跟处理时间上找平衡点。在编码ID的索引文件时有两种基本的策略,一种是编码原始的递增的值,另一种是编码连续两个递增的值之间的差值(delta编码)。一般来说差值远远小于原值,因此编码差值可能会带来一些压缩率的提高。但某些原值编码中也有非常高效的编码。当前在产业界用的比较多的是PFD编码(MarcinZukowski,SandorHeman,NielsNesandPeterBoncz.SuperscalarRAM-CPUcachecompression.InProceedingsofthe22ndInternationalConferenceonDataEngineering(ICDE),no.59,pages1-12.IEEE,2006.),PFD编码属于delta编码,它利用了ID的差值的分布特征,将90%较小的delta值根据最大字长位对齐顺序地存储,而把10%的较大值作为特例单独用变长编码存储。PFD编码的压缩率跟解压速度都可以让人接受,实现简单,因此在工业上得到广泛应用。它的缺点是它建立在差值的分布特性的假设的前提下,在不满足这个假设的时候它的压缩率不算太高。IPC编码是一 ...
【技术保护点】
一种提速的基于IPC编码的查询处理方法,其特征在于,包括以下步骤:1)将IPC编码下的索引文件视为树形的跳表文件,在解压缩IPC编码的索引文件时实现快读略过子树的算法;2)在处理布尔求交查询时,根据链表的单调性判断是否略过某些子树,通过略过操作来提高线上布尔查询处理速度;3)在处理排序查询时,根据文档ID列表的求交结果的位置快速取出对应的频率的索引文件的值,通过略过所有不必要访问的子树来提高线上排序查询的处理速度。
【技术特征摘要】
1.一种提速的基于IPC编码的查询处理方法,其特征在于,包括以下步骤:1)将IPC编码下的索引文件视为树形的跳表文件,在解压缩IPC编码的索引文件时实现快读略过子树的算法;2)在处理布尔求交查询时,根据链表的单调性判断是否略过某些子树,通过略过操作来提高线上布尔查询处理速度;3)在处理排序查询时,根据文档ID列表的求交结果的位置快速取出对应的频率的索引文件的值,通过略过所有不必要访问的子树来提高线上排序查询的处理速度。2.如权利要求1所述的方法,其特征在于:略过子树的操作通过一个存储节点信息结构体的栈来加速实现。3.如权利要求2所述的方法,其特征在于:一个节点信息结构体保存的项为:a)left:该节点在当前区间左边的元素个数;b)right:该节点在当前区间右边的元素个数;c)len:当前区间的长度;d)tmpvalue:该节点在IPC索引文件中记录的值。4.如权利要求1所述的方法,其特征在于:在处理布尔求交查询时,对一个已经解压的顺序列表与一个IPC编码压缩的索引列表执行快速求交算法。5.如权利要求4所述的方法,其特征在于,定义恢复后的数值列表保存在数列Rlr中,待恢复的列表是ls,已恢复列表是Rlr1,节点信息结构体的栈是S,并定义Rlrcur、Rlr1cur为Rlr与Rlr1上的当前指针;对于一个根为root的树,定义leftlist是root到其最左叶子节点的路径的逆路径;则所述快速求交算法包括以下步骤:1)恢复根节点并压入栈;2)当栈不为空时,取root为栈首元素并执行如下循环;3)如果root的原值小于Rlr1cur所指...
【专利技术属性】
技术研发人员:付玺,王斌,李鹏,王卿,李雄,徐杰,马宏远,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。