针对检索结果进行分组统计的索引结构创建方法和系统技术方案

技术编号:11203904 阅读:217 留言:0更新日期:2015-03-26 11:58
本发明专利技术的针对检索结果进行分组统计的索引结构创建方法和系统,通过创建索引结构,分组统计时只需要先根据索引数据块得到字段值ID数据块的存储地址,然后根据该存储地址得到字段值ID数据块,再根据每个对象ID对应的字段值ID的数量计算得到预定对象ID的字段值ID的存储位置,进而根据该存储位置直接读取对应的数据,无需遍历整个索引数据即可完成分组统计。用于分组统计的字段值ID都存储在一个或者相邻的几个字段值ID数据块中,分组统计时只需在预定的字段值ID数据块中读取即可,可大大节省寻址时间。通过这种分组数据的索引结构,以增加少量的索引数据为代价,支持了多分组值的情况,分组统计工作量小,读取效率高,优化了检索结果的分组统计过程。

【技术实现步骤摘要】

本专利技术涉及一种检索结果统计方法。具体地说是一种针对检索结果进行分组统计的索引结构创建方法和系统
技术介绍
在全文检索系统中,根据用户输入的检索词进行分词处理后,在倒排索引中进行检索,得到一组命中文档结果,并按照指定的规则排序,一般默认是按照检索词与命中文档的相关度排序。在得到检索结果的同时,很多情况下需要根据命中文档的某个字段的值进行分组统计,包括根据唯一值进行分组统计,以及根据值范围进行分组统计,进而使得在对检索结果的分布得到直观的认识的同时,也方便根据分组值进一步缩小检索结果范围,这时候需要同时对多个字段分别进行分组统计。为了满足这类检索需求,现有技术中一般对用于分组统计的字段的值进行预先处理,创建以文档为key,文档中该字段的值为value的映射关系缓存数据,一定程度上提高分组统计过程的性能。但是在实际应用中,经常会出现一个文档用于分组统计的字段的值不止一项的情况,甚至有时候一个文档对应的字段值可能有上千项。在分组统计时需要针对遍历所述映射管理表进行统计,这样遍历统计的工作量相对较大,直接导致分组统计的速度慢、效率低下。
技术实现思路
为此,本专利技术所要解决的技术问题在于现有分组统计方法对一个文档对应多个字段值统计效率低下的技术问题,从而提出一种针对检索结果进行分组统计的索引结构创建方法和系统。为解决上述技术问题,本专利技术提供的技术方案如下:一种针对检索结果进行分组统计的索引结构创建方法,包括如下步骤:为每个检索对象分配一个唯一的对象ID;为检索对象中用于分组统计的字段的每一个值分配一个唯一的字段值ID;创建所述对象ID与每个字段对应的所述字段值ID的一对多的映射关系;将N个检索对象对应的字段值ID根据所述映射关系顺序生成一个字段值ID数据块并存储;其中,N为大于1的整数,且每个所述字段值ID以定长方式存储;为每个所述字段值ID数据块建立索引数据块并存储,所述索引数据块用于记录每个所述字段值ID数据块存储的位置,以及每个对象ID对应的字段值ID的数量。所述的一种针对检索结果进行分组统计的索引结构创建方法中,为每个所述字段值ID数据块建立索引数据块进一步包括如下步骤:为每个所述字段值ID数据块建立一个局部索引数据块,所述局部索引数据块包括所述字段值ID数据块在缓存中的位置,以及每个对象ID对应的字段ID的数量;建立全局索引数据块,所述全局索引数据块用于记录每个所述局部索引数据块的起始位置。所述的一种针对检索结果进行分组统计的索引结构创建方法中,还包括将所述索引数据块中每个对象ID对应的字段值ID的数量压缩后再存储的步骤。所述的一种针对检索结果进行分组统计的索引结构创建方法中,通过将所述对象ID从零开始顺序编号为每个检索对象分配一个唯一的对象ID。所述的一种针对检索结果进行分组统计的索引结构创建方法中,存储的每个对象ID对应的字段值ID的数量为每个对象ID对应的字段值ID的实际数量减一后得到。同时,提供一种针对检索结果进行分组统计的索引结构创建系统,包括索引结构创建模块,其中,所述索引结构创建模块进一步包括:对象ID分配模块,用于为每个检索对象分配一个唯一的对象ID;字段值ID分配模块,用于为检索对象中用于分组统计的字段的每一个值分配一个唯一的字段值ID;映射关系创建模块,用于创建所述对象ID与每个字段对应的所述字段值ID的一对多的映射关系;字段值ID数据块生成模块,用于将N个检索对象的多个分组值对应的字段值ID根据所述映射关系顺序生成一个字段值ID数据块并存储;其中,N为大于1的整数,且每个所述字段值ID以定长方式存储;索引数据块创建模块,用于为每个所述字段值ID数据块创建索引并存储,所述索引用于记录每个所述字段值ID数据块存储的位置,以及每个对象ID对应的字段值ID的数量。所述的一种针对检索结果进行分组统计的索引结构创建系统中,所述索引数据块创建模块进一步包括:局部索引数据块创建子模块,用于为每个所述字段值ID数据块建立一个局部索引数据块并存储,所述局部索引数据块包括所述字段值ID数据块在缓存中的位置,以及每个对象ID对应的字段值ID的数量;全局索引数据块创建子模块,用于建立全局索引数据块并存储,所述全局索引数据块用于记录每个所述局部索引数据块的起始位置。所述的一种针对检索结果进行分组统计的索引结构创建系统中,还包括压缩子模块,用于将所述索引结构中每个对象ID对应的字段值ID的数量压缩后再存储。所述的一种针对检索结果进行分组统计的索引结构创建系统中,所述对象ID分配模块将所述对象ID从零开始顺序编号。所述的一种针对检索结果进行分组统计的索引结构创建系统中,存储的每个对象ID对应的字段值ID的数量为每个对象ID对应的字段值ID的实际数量减一后得到。本专利技术的上述技术方案相比现有技术具有以下优点:(1)本专利技术的针对检索结果进行分组统计的索引结构创建方法和系统,通过创建索引结构,分组统计时只需要先根据索引数据块得到字段值ID数据块的存储地址,然后根据该存储地址得到字段值ID数据块,最后再根据每个对象ID对应的字段值ID的数量计算得到预定对象ID的字段值ID的存储位置,进而根据该存储位置直接读取对应的数据,无需遍历整个索引数据即可完成分组统计。而且,用于分组统计的字段值ID都存储在一个或者相邻的几个字段值ID数据块中,分组统计的时候只需要在预定的字段值ID数据块中读取即可,无需遍历读取,可大大节省寻址时间,提高统计效率。通过这种分组数据的索引结构,以增加少量的索引数据为代价,支持了多分组值的情况,分组统计工作量小,读取效率高,优化了检索结果的分组统计过程。(2)本专利技术的针对检索结果进行分组统计的索引结构创建方法和系统中,索引数据块中的每个对象ID对应字段值ID的数量在压缩后存储,分组统计时解压后在进行统计,能进一步缩小索引数据块占用的存储空间。(3)本专利技术的针对检索结果进行分组统计的索引结构创建方法和系统中,所述对象ID从零开始顺序编号,由于整数占用存储空间小,最终使得对象ID占用的存储空间更小。(4)本专利技术的针对检索结果进行分组统计的索引结构创建方法和系统中,存储的字段值ID的数量为字段值ID的实际数量减一后得到,使得所述字段值ID的数量的值更小,进而更一步地减少的存储空间。附图说明<本文档来自技高网...
针对检索结果进行分组统计的索引结构创建方法和系统

【技术保护点】
一种针对检索结果进行分组统计的索引结构创建方法,其特征在于,包括如下步骤:为每个检索对象分配一个唯一的对象ID;为检索对象中用于分组统计的字段的每一个值分配一个唯一的字段值ID;创建所述对象ID与每个字段对应的所述字段值ID的一对多的映射关系;将N个检索对象对应的字段值ID根据所述映射关系顺序生成一个字段值ID数据块并存储;其中,N为大于1的整数,且每个所述字段值ID以定长方式存储;为每个所述字段值ID数据块建立索引数据块并存储,所述索引数据块用于记录每个所述字段值ID数据块存储的位置,以及每个对象ID对应的字段值ID的数量。

【技术特征摘要】
1.一种针对检索结果进行分组统计的索引结构创建方法,其特征在于,
包括如下步骤:
为每个检索对象分配一个唯一的对象ID;
为检索对象中用于分组统计的字段的每一个值分配一个唯一的字段
值ID;
创建所述对象ID与每个字段对应的所述字段值ID的一对多的映射关
系;
将N个检索对象对应的字段值ID根据所述映射关系顺序生成一个字
段值ID数据块并存储;其中,N为大于1的整数,且每个所述字段值ID
以定长方式存储;
为每个所述字段值ID数据块建立索引数据块并存储,所述索引数据
块用于记录每个所述字段值ID数据块存储的位置,以及每个对象ID对
应的字段值ID的数量。
2.根据权利要求1所述的一种针对检索结果进行分组统计的索引结构
创建方法,其特征在于,为每个所述字段值ID数据块建立索引数据块进一步
包括如下步骤:
为每个所述字段值ID数据块建立一个局部索引数据块,所述局部索
引数据块包括所述字段值ID数据块在缓存中的位置,以及每个对象ID
对应的字段ID的数量;
建立全局索引数据块,所述全局索引数据块用于记录每个所述局部索
引数据块的起始位置。
3.根据权利要求1或2所述的一种针对检索结果进行分组统计的索引
结构创建方法,其特征在于,还包括将所述索引数据块中每个对象ID对应的
字段值ID的数量压缩后再存储的步骤。
4.根据权利要求1-3任一所述的一种针对检索结果进行分组统计的索

\t引结构创建方法,其特征在于,通过将所述对象ID从零开始顺序编号为每个
检索对象分配一个唯一的对象ID。
5.根据权利要求1-4任一所述的一种针对检索结果进行分组统计的索
引结构创建方法,其特征在于,存储的每个对象ID对应的字段值ID的数量
为每个对象ID对应的字段值ID的实际数量减一后得到。
6.一种针对检索结果进行分组统计的索引结构创建系统,其特征在于,
包括索引结构创建模块,其中...

【专利技术属性】
技术研发人员:童征宇董宁
申请(专利权)人:北大方正集团有限公司北京方正阿帕比技术有限公司方正信息产业控股有限公司
类型:发明
国别省市:北京;11

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

1