一种生成索引信息的方法和设备技术

技术编号:10472767 阅读:128 留言:0更新日期:2014-09-25 11:07
本申请公开了一种生成索引信息的方法和设备,其主要内容包括:通过获取待检索的词条集合中至少一个词条的前缀信息,按照设定的排序方式将获取的所述前缀信息进行排列,得到排序后的前缀信息组,根据设定的划分索引块的数量,对得到的所述前缀信息组进行切分,并提取切分后每一个索引块的前缀信息,生成针对该索引块的子索引信息,将每一个索引块的子索引信息进行整合后得到针对该待检索的词条集合的索引信息,这样避免了现有技术中出现出现词条在索引块中分布不均衡的问题,同时将出现词条数量较多的索引块进行切分,减少了索引块中词条的数量,提高了搜索效率。

【技术实现步骤摘要】
一种生成索引信息的方法和设备
本申请涉及互联网信息处理领域,尤其涉及一种生成索引信息的方法和设备。
技术介绍
随着互联网技术的不断发展,专业化网站越来越多,例如:提供信息共享的搜索网 站等。在这些专业化网站中,每一个专业化网站都需要一个强大的后台数据库支撑,这样方 便通过自身专业化网站为用户展示需要的信息。具体地,专业化网站在接收到用户的搜索 请求后,通过对后台数据库中的数据信息进行搜索,查找用户需要的数据信息,并从大量数 据信息中快速找到目标数据信息,例如:用户需要获取MP3播放器的产品信息,专业化网站 在获取包含有MP3播放器的搜索请求后,从自身的后台数据库中查找到与MP3播放器相关 的数据信息,并展示给用户。 在对后台数据库中的数据信息进行搜索时,一般通过数据库中建立的索引列表定 位搜索范围,加快搜索速度,其中,传统建立索引列表的方式是采用首字符索引法,即提取 数据库中待检索的各个词条的首字符,按照〇?9、A?Z的顺序将数据库中的词条进行分 ±夬,并最终得到的包含了 〇?9、A?Z和? 这37个索引信息的索引列表,其中,? 表 示其他,包含了首字符不是〇?9和A?Z的其他词条。 如图1所示,为某一专业网站建立的索引列表的示意图。从图中可以看出,索引列 表中包含的索引信息为:〇?9、A?Z和?。然而在这张索引列表中,针对每一个索引信 息给出了大量词条信息,但是由于展示页面有限,使得大量信息无法展示。从该索引列表展 示的有限信息中不难发现,由于建立的索引信息固定且有限,使得有些索引信息下包含的 词条信息量较大,有些索引信息下包含的词条信息量较小(例如:字符Z),这样基于该索引 列表的数据库中包含的所有词条信息的分布将严重出现不均衡。 由此可见,采用首字符的方式建立索引列表,存在以下缺陷: 1、数据库中词条信息在每一个索引信息下的分布出现不均衡,并且常用词条将集 中出现在某一个或者某几个索引信息中。 例如:从字典中可以看出,以字符M和字符C开头的词条的数量较大;以字符 Z开头的词条的数据量较小。 2、每次数据库在进行数据信息搜索时,依然需要过滤大量的词条信息,并不能快 速定位用户需要的目标词条信息,使得搜索效率较低,无法满足用户的需要。
技术实现思路
本申请实施例提供了一种生成索引信息的方法和设备,用于解决现有技术中采用 首字符的方式建立索引列表存在的单个索引信息下包含的词条数量捷较大导致的搜索效 率低的问题。 -种生成索引信息的方法,包括: 获取待检索的词条集合中至少一个词条的前缀信息,并按照设定的排序方式将获 取的所述前缀信息进行排列,得到前缀信息组; 根据设定的划分索引块的数量,对得到的所述前缀信息组进行切分,并提取切分 后每一个索引块的前缀信息,生成针对该索引块的子索引信息; 将每一个索引块的子索引信息进行整合后得到针对该待检索的词条集合的索引 信息。 一种生成索引信息的设备,包括: 获取模块,用于获取待检索的词条集合中至少一个词条的前缀信息,并按照设定 的排序方式将获取的所述前缀信息进行排列,得到前缀信息组; 子索引信息提取模块,用于根据设定的划分索引块的数量,对得到的所述前缀信 息组进行切分,并提取切分后每一个索引块的前缀信息,生成针对该索引块的子索引信 息; 索引信息生成模块,用于将每一个索引块的子索引信息进行整合后得到针对该待 检索的词条集合的索引信息。 本申请有益效果如下: 本申请实施例通过获取待检索的词条集合中至少一个词条的前缀信息,并按照设 定的排序方式将获取的所述前缀信息进行排列,得到排序后的前缀信息组,根据设定的划 分索引块的数量,对得到的所述前缀信息组进行切分,并提取切分后每一个索引块的前缀 信息,生成针对该索引块的子索引信息,将每一个索引块的子索引信息进行整合后得到针 对该待检索的词条集合的索引信息,与现有技术相比,根据划分索引块的数量,将待检索的 词条进行切分,这样避免了现有技术中采用首字符建立索引存在的某些索引信息中包含的 词条数量较多,而一些索引信息中包含的词条数量较少,出现词条在索引列表中分布不均 衡的问题,同时将采用首字符建立索引中出现词条数量较多的索引块进行切分,减少了索 引块中词条的数量,提高了搜索效率。 【附图说明】 图1为为某一专业网站建立的索引列表的示意图; 图2为本申请实施例一的一种生成索引信息的方法的流程图; 图3为本申请实施例二的一种生成索引信息的方法的流程图; 图4为本申请实施例三的一种生成索引信息的设备的结构示意图。 【具体实施方式】 为了实现本申请的目的,本申请实施例提供了一种生成索引信息的方法和设备, 通过获取待检索的词条集合中至少一个词条的前缀信息,按照设定的排序方式将获取的所 述前缀信息进行排列,得到排序后的前缀信息组,根据设定的划分索引块的数量,对得到的 所述前缀信息组进行切分,并提取切分后每一个索引块的前缀信息,生成针对该索引块的 子索引信息,将每一个索引块的子索引信息进行整合后得到针对该待检索的词条集合的索 引信息,这样避免了现有技术中出现出现词条在索引块中分布不均衡的问题,同时将出现 词条数量较多的索引块进行切分,减少了索引块中词条的数量,提高了搜索效率。 需要说明的是,本申请实施例中涉及的前缀信息是指:将词条中包含的前端字 符进行提取,形成该词条的前缀信息。假设词条有:iphone4、iphone4S、iphone5、ipadl、 ipad2、ipad3等,则得到的前缀信息为:词条iphone4的前缀信息可以是ip,也可以是 iphone ;词条iphone4S的前缀信息可以是ip,也可以是iphone ;词条ipadl的前缀信 息可以是ip,也可以是ipad。 由此可见,针对每一个词条,前缀信息通常是该词条前端的几个字符,根据实际需 要进行确定,这样选择有效字符作为前缀信息既能改善搜索效率,又能保证前缀信息索引 的数据量较小。 切分长度是指:每一次切分操作执行完成之后形成一个索引块,该索引块中包含 的词条的个数。 例如:假设排序后的词条集合中包含了 100个词条,设定划分索引块的数量为10, 那么针对该1〇〇个词条,在进行第一次切分操作时,假设切分长度为10个词条,也就是说, 从第一个词条开始计数,当计数器的数字为10时,在第10个词条与第11个词条之间执行 切分操作,此时,生成第一个索引块,该索引块中包含的词条数为1 〇。 切分点位置信息是指:在执行每一次切分操作时,从本次切分操作的起始词条位 置信息开始计数,当计数器的数字达到与本次切分的切分长度值相同时确定的最后一个词 条的位置信息,即本次切分操作执行完毕后生成索引块内的最后一个词条的位置信息。 例如:假设排序后的词条集合中包含了 100个词条,设定划分索引块的数量为10, 那么针对该100个词条,在进行第一次切分操作时,假设切分长度为10个词条,也就是说, 从第一个词条开始计数,当计数器的数字为10时,此时第10个词条的位置信息即为第一个 切分点位置信息。 切分深度值是指:在排序后的前缀信息组中任意两个本文档来自技高网
...

【技术保护点】
一种生成索引信息的方法,其特征在于,包括:获取待检索的词条集合中至少一个词条的前缀信息,并按照设定的排序方式将获取的所述前缀信息进行排列,得到前缀信息组;根据设定的划分索引块的数量,对得到的所述前缀信息组进行切分,并提取切分后每一个索引块的前缀信息,生成针对该索引块的子索引信息;将每一个索引块的子索引信息进行整合后得到针对该待检索的词条集合的索引信息。

【技术特征摘要】
1. 一种生成索引信息的方法,其特征在于,包括: 获取待检索的词条集合中至少一个词条的前缀信息,并按照设定的排序方式将获取的 所述前缀信息进行排列,得到前缀信息组; 根据设定的划分索引块的数量,对得到的所述前缀信息组进行切分,并提取切分后每 一个索引块的前缀信息,生成针对该索引块的子索引信息; 将每一个索引块的子索引信息进行整合后得到针对该待检索的词条集合的索引信息。2. 如权利要求1所述的方法,其特征在于,根据设定的划分索引块的数量,对得到的所 述前缀信息组进行切分,并提取切分后每一个索引块的前缀信息,生成针对该索引块的子 索引信息,具体包括: 根据设定的划分索引块的数量,通过以下方式将所述前缀信息组进行切分,直到切分 后得到索引块的总数量与设定的划分索引块的数量相同: 统计该前缀信息组执行完相邻前一次切分操作后剩余前缀信息的数量和已生成索引 块的数量,计算本次对该前缀信息组中剩余的前缀信息进行切分操作的理论切分长度; 根据计算得到的本次切分的理论切分长度和相邻前一次对该前缀信息组中的前缀信 息进行切分后确定的第一切分点位置信息,确定本次对该前缀信息组中剩余的前缀信息进 行切分操作的第二切分点位置信息; 判断确定第二切分点的位置信息是否满足设定条件,并在确定的第二切分点的位置信 息满足设定条件时,执行本次切分操作,将切分后介于第一切分点与第二切分点之间的前 缀信息对应的词条构成一个索引块,其中,本次切分构成的索引块中包含了第二切分点位 置信息对应的词条,但不包含第一切分点位置信息对应的词条,本次执行切分操作的位置 是位于第二切分点位置信息和第二切分点相邻的下一个位置信息之间; 提取切分后得到的索引块中包含的词条中满足设定条件的字符信息,并将提取得到的 字符信息生成针对该索引块的子索引信息。3. 如权利要求2所述的方法,其特征在于,所述根据计算得到的本次切分的理论切分 长度和相邻前一次对该前缀信息组中的前缀信息进行切分后确定的第一切分点位置信息, 确定本次对该前缀信息组中剩余的前缀信息进行切分后的第二切分点位置信息,具体包 括: 计算相邻前一次对该前缀信息组中的前缀信息进行切分后的实际切分长度; 将计算得到的本次切分的理论切分长度和计算得到的相邻前一次切分的实际切分长 度进行比较; 在比较结果是所述本次切分的理论切分长度不大于计算得到的相邻前一次切分的实 际切分长度时,将计算得到的相邻前一次切分的实际切分长度作为本次对该前缀信息组中 剩余的前缀信息进行切分的实际切分长度; 根据相邻前一次对该前缀信息组中的前缀信息进行切分后确定的第一切分点位置信 息和本次对该前缀信息组中剩余的前缀信息进行切分的实际切分长度,确定本次对该前缀 信息组中剩余的前缀信息进行切分后的第二切分点位置信息。4. 如权利要求2或3所述的方法,其特征在于,所述方法还包括: 在确定第二切分点的位置信息不满足设定条件时,选择一个切分点位置信息,其中,从 所述选择的该切分点位置到第一切分点位置的长度介于本次切分的理论切分长度和相邻 前一次切分的实际切分长度之间; 判断所述选择的切分点位置信息是否满足设定条件; 在判断结果是选择的切分点位置信息满足设定条件时,将该选择的切分点位置信息作 为本次对该前缀信息组中剩余的前缀信息进行切分后的第二切分点位置信息。5. 如权利要求3所述的方法,其特征在于,所述将所述本次切分的理论切分长度和计 算得到的相邻前一次切分的实际切分长度进行比较之后,当比较结果是所述本次切分的理 论切分长度大于计算得到的相邻前一次切分的实际切分长度时,所述方法还包括: 将所述本次切分的理论切分长度和所述相邻前一次切分的实际切分长度进行运算,得 到介于所述本次切分的理论长度和所述相邻前一次切分的实际切分长度之间的第二切分 长度; 将运算得到的所述第二切分长度作为本次对该前缀信息组中剩余的前缀信息进行切 分的实际切分长度; 根据相邻前一次对该前缀信息组中的前缀信息进行切分后确定的第一切分点位置信 息和本次对该前缀信息组中剩余的前缀信息进行切分的实际切分长度,确定本次对该前缀 信息组中剩余的前缀信息进行切分后的第二切分点位置信息。6. 如权利要求5所述的方法,其特征在于,所述方法还包括: 在确定第二切分点的位置信息不满足设定条件时,查找与当前确定的第二切分点位置 信息相邻的第三切分点位置信息和第四切分点位置信息; 判断所述第三切分点位置信息是否满足设定条件以及判断所述第四切分点位置信息 是否满足设定条件; 根据判断结果,将满足设定条件的切分点位置信息作为本次对该前缀信息组中剩余的 前缀信息进行切分后的第二切分点位置信息。7. 如权利要求2?6任一所述的方法,其特征在于,判断确定第二切分点的位置信息是 否满足设定条件,具体包括: 计算第一切分点的第一切分深度值和第二切分点的第二切分深度值,以及计算第二切 分点的索引深度值; 判断所述索引深度值是否不小于第一切分深度值以及判断所述索引深度值是否不小 于第二切分深度值; 当所述索引深度值不小于第一切分深度值且所述索引深度值不小于第二切分深度值 时,确定第二切分点的位置信息满足设定条件; 当所述索引深度值小于第一切分深度值和/或所述索引深度值小于第二切分深度值 时,确定第二切分点的位置信息不满足设定条件。8. -种生成索引信息的设备,其特征在于,包括: 获取模块,用于获取待检索的词条集...

【专利技术属性】
技术研发人员:董凡丘鹏韩小梅
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1