本发明专利技术提供了构造索引库的方法和设备以及查询方法。一种构造索引库的方法,包括:将一个或多个文档中的词汇分类为第一类别或第二类别;以及根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。本发明专利技术能够在支持大规模检索数据的同时提高整体检索响应速度。
【技术实现步骤摘要】
本专利技术涉及信息处理技术,更具体地,涉及构造索引库的方法和设备以及利用该 索引库进行查询的方法。
技术介绍
传统的索引结构主要包括索引项词典和索引数据。索引项词典记录了所有索引 项。索引项用于在索引构造和索引检索时查找某个关键词,并且包含记录索引数据位置的 记录项。索引数据包含索引的具体信息,例如包含对应的索引项的文档标识等。图1示出了简化的索引结构示例的示意图。如图1所示,该索引结构包括索引项 词典1和索引数据2。索引项词典1中包含i个索引项词汇1、词汇2、…、词汇i,其中词 汇1的索引数据是所有包含词汇1的文档dll、d21、…、dtl,以此类推。实际的索引数据 根据需要还可包含其它的统计信息,例如该索引项在每个文档中的频率、位置等。传统的索引结构有两种组织方式单级索引和多级索引。图2示出了一个包含a、b、d、f、j、k共6个词汇的单级索引的索引项词典的示例 的示意图,该索引项词典以顺序方式组织。该索引项词典在初次被载入内存之后,以后都可 以在内存中进行快速的查找和定位。但是,如果内存容量有限,无法载入所有的索引项,则 需要每次载入一定数目的索引项,查找完毕再载入下一批数据。例如,如果索引项总量为n, 内存容量为k个索引项,则一次查找最多需要n/(k+l)次磁盘访问。由此可见,在索引项数 目较大的情况下,单级索引是一种效率较低的方案。多级索引则通常以多个层次的树等方式组织索引项。图3示出了一个包含a、b、 d、f、j、k共6个词汇的树形方式组织的二级索引的索引项词典的示例的示意图。假设内存 的容量为3个索引项,则6个索引项被分为两块组织,并以两块的上层建立一级索引,形成 一个二级索引。如果索引项更多,则依次向上建立树形方式组织的多级索引。在查找时从 顶端载入,逐级向下查找,最多需要logkn+l次磁盘访问。由此可见,多级索引的方法便于组 织大规模的索引项,但是其效率会随着索引项规模的扩大而逐渐下降。综上所述,索引规模和检索响应速度是索引结构设计中存在的矛盾。在传统的索 引结构中,随着索引规模的扩大,带来了诸如索引项总量庞大无法全部载入内存、或检索响 应速度随着索引规模的扩大而逐渐下降等的问题。
技术实现思路
在下文中给出了关于本专利技术的简要概述,以便提供关于本专利技术的某些方面的基本 理解。应当理解,这个概述并不是关于本专利技术的穷举性概述。它并不是意图确定本专利技术的 关键或重要部分,也不是意图限定本专利技术的范围。其目的仅仅是以简化的形式给出某些概 念,以此作为稍后论述的更详细描述的前序。本专利技术的至少一个目的在于提供一种构造索引库的方法和设备以及利用该索引 库进行查询的方法,其能够至少克服上述现有技术的部分缺点和不足,以在支持大规模索引数据的同时提高整体检索响应速度。本专利技术的另一个目的是提供相应的计算机程序产品和/或计算机可读存储介质。为了实现上述目的,根据本专利技术的一个实施例,提供了一种构造索引库的方法,包 括将一个或多个文档中的词汇分类为第一类别或第二类别;以及根据第一类别的词汇来 构建单级索引,并根据第二类别的词汇来构建多级索引。在该构造索引库的方法中,分类步骤可包括判定词汇是否属于预定词汇集,如果 属于则将该词汇分类为第一类别,否则将该词汇分类为第二类别。在该构造索引库的方法中,预定词汇集可包括高频查询词。在该构造索引库的方法中,预定词汇集可包括中文词汇集或其子集、英文单词集 或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。在该构造索引库的方法中,还可包括将针对新的一个或多个文档构建的新的单级 索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。在该构造索引库的方法中,构建单级索引可包括以线性表、哈希表或数组的方式 构建单级索引。为了实现上述目的,根据本专利技术的另一实施例,提供了一种利用如上所述的方法 构造的索引库进行查询的方法,包括将查询关键词分类为第一类别或第二类别;如果该 查询关键词属于第一类别,则在索引库的单级索引中检索该查询关键词以获取单级索引数 据;以及如果该查询关键词属于第二类别,则在索引库的多级索引中检索该查询关键词以 获取多级索引数据。在该查询方法中,单级索引可被预先存储在访问速度较快的存储器中。为了实现上述目的,根据本专利技术的又一实施例,提供了一种构造索引库的设备,包 括分类器,被配置为将一个或多个文档中的词汇分类为第一类别或第二类别;以及索引 构建器,被配置为根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多 级索引。在该构造索引库的设备中,分类器可被配置为判定词汇是否属于预定词汇集,如 果属于则将该词汇分类为第一类别,否则将该词汇分类为第二类别。在该构造索引库的设备中,预定词汇集可包括高频查找词。在该构造索引库的设备中,预定词汇集可包括中文词汇集或其子集、英文单词集 或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。在该构造索引库的设备中,索引构建器还可被配置为将针对新的一个或多个文档 构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。在该构造索引库的设备中,索引构建器还可被配置为以线性表、哈希表或数组的 方式构建单级索引。依据本专利技术的其它实施例,还提供了相应的计算机可读存储介质和计算机程序产PΡΠ O根据本专利技术的实施例,通过将单级索引与多级索引相结合来构建索引库,能够在 支持大规模索引数据的同时提高整体检索响应速度。通过以下结合附图对本专利技术的最佳实施例的详细说明,本专利技术的这些以及其它的 优点将更加明显。附图说明本专利技术可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所 有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的 详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本 专利技术的优选实施例和解释本专利技术的原理和优点。在附图中图1示出了简化的索引结构示例的示意图;图2示出了单级索引的索引项词典的示例的示意图;图3示出了二级索引的索引项词典的示例的示意图;图4示出了根据本专利技术实施例的构造索引库的方法的流程图;图5示出了根据本专利技术实施例的利用本专利技术构建的索引库进行查询的方法的流 程的示意图;图6示出了根据本专利技术实施例的构建索引库的设备的示意图;图7示出了根据本专利技术另一实施例的构建索引库的设备的示意图;以及图8示出了根据本专利技术实施例的利用本专利技术构建的索引库进行查询的设备的示 意图。本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的, 而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以 便有助于提高对本专利技术实施例的理解。具体实施例方式在下文中将结合附图对本专利技术的示范性实施例进行详细描述。为了清楚和简明起 见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际 实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例 如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不 同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于 本公开内容的本领域技术人员来说,这种开发工作仅仅是例本文档来自技高网...
【技术保护点】
1.一种构造索引库的方法,包括:将一个或多个文档中的词汇分类为第一类别或第二类别;以及根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
【技术特征摘要】
【专利技术属性】
技术研发人员:葛付江,王主龙,孟遥,于浩,贾文杰,
申请(专利权)人:富士通株式会社,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。