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

技术编号:11203904 阅读:264 留言: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的数量。

【技术特征摘要】
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