[发明专利]基于多层优化平衡树的数值与文本混合倒排索引算法无效
申请号: | 201010282299.6 | 申请日: | 2010-09-15 |
公开(公告)号: | CN102402540A | 公开(公告)日: | 2012-04-04 |
发明(设计)人: | 郑益 | 申请(专利权)人: | 浙江天宇信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310006 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多层 优化 平衡 数值 文本 混合 索引 算法 | ||
1.一种基于多层优化平衡树的数值与文本混合倒排索引方法,其特征在于:在普通文本倒排索引结构的基础上,对数值倒排词典的二叉树结构进行增强,数值词典部分引入多层优化平衡树,使得查询性能不会随着数值的分布范围而急剧下降。该混合索引结构如图1所示。
2.如权利要求1所述的基于多层优化平衡树的数值与文本混合倒排索引方法,其特征在于,索引的结构如下:
数值词典部分由多层平衡树构成,平衡树的节点构造如图2所示。每个节点的结构中包括最小值和最大值,以及指向一个数值倒排列表。数值倒排列表中仅包含文献号。
平衡树的第0层将文档N的值集范围V[Vmin,Vmax]分隔为b个节点,每个节点表示V的一个子集。
设c为合并因子。对于平衡树的第j层(j=1,…,L),构造b/cj个节点,节点个数为(Ncj)/b,节点所指向的倒排列表i(i=0,…,b/cj-1)由第j-1层的倒排列表ic,…,(i+1)c-1合并而成。
3.如权利要求2所述的基于多层优化平衡树的数值与文本混合倒排索引方法,其特征在于,索引的构造步骤如下
(1).第0层节点的创建
a.对于文档集N中的每个对<文献号,数值>按值进行排序,令V为所有唯一值的集合
b.将a步中排序的列表分为b块,每块长度为N/b。将每块的最小值(第一个数值)和最大值(最后一个数值),存入数组Tmin和Tmax。
c.对于每一块创建一个倒排列表,按文献号排序。满足:对1<=i<j<=b,块i中的所有数值不大于块j中的所有数值。
第0层节点的创建性能取决于a步骤,时间复杂度为:O(NlogN),空间复杂度为:O(N)。
(2).附加层的创建
a.对于文档集N中的每个对<文献号,数值>按文献号排序,放入缓存1
b.对于文档集N中的每个对<文献号,数值>按值排序,放入缓存2,并创建数组Tmin和Tmax。
c.对于每一层j=0,…,L:将缓存分隔为b/cj个列表。初始化所有子倒排列表。扫描缓存1,从第0层列表中获取对应文献号,并写入倒排列表的空位中。
d.将每层写入磁盘上。
附加层的创建时间复杂度为O(N[logN+L])。
4.如权利要求2所述的基于多层优化平衡树的数值与文本混合倒排索引方法,其特征在于,基于该索引结构的数值查询步骤如下:
(1)查询第0层的Tmin和Tmax表
(2)找到与查询条件范围r=[Vmin,Vmax]相匹配的最左和最右的第0层节点,创建带过滤条件的倒排列表
(3)从最大层开始,找到最长的符合查询条件的倒排列表。层i(i>0)的节点被选中,当前仅当它的值集范围满足查询条件的约束,同时在i+1层它的被包含节点中包含一些数值不满足查询条件的约束。
(4)将(3)中选中的倒排列表按文献号进行合并。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江天宇信息技术有限公司,未经浙江天宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010282299.6/1.html,转载请声明来源钻瓜专利网。