CN102135969A - 构造索引库的方法和设备以及查询方法 - Google Patents
构造索引库的方法和设备以及查询方法 Download PDFInfo
- Publication number
- CN102135969A CN102135969A CN2010101036106A CN201010103610A CN102135969A CN 102135969 A CN102135969 A CN 102135969A CN 2010101036106 A CN2010101036106 A CN 2010101036106A CN 201010103610 A CN201010103610 A CN 201010103610A CN 102135969 A CN102135969 A CN 102135969A
- Authority
- CN
- China
- Prior art keywords
- index
- vocabulary
- stage
- classification
- collection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明提供了构造索引库的方法和设备以及查询方法。一种构造索引库的方法,包括:将一个或多个文档中的词汇分类为第一类别或第二类别;以及根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。本发明能够在支持大规模检索数据的同时提高整体检索响应速度。
Description
技术领域
本发明涉及信息处理技术,更具体地,涉及构造索引库的方法和设备以及利用该索引库进行查询的方法。
背景技术
传统的索引结构主要包括索引项词典和索引数据。索引项词典记录了所有索引项。索引项用于在索引构造和索引检索时查找某个关键词,并且包含记录索引数据位置的记录项。索引数据包含索引的具体信息,例如包含对应的索引项的文档标识等。
图1示出了简化的索引结构示例的示意图。如图1所示,该索引结构包括索引项词典1和索引数据2。索引项词典1中包含i个索引项:词汇1、词汇2、…、词汇i,其中词汇1的索引数据是所有包含词汇1的文档d11、d21、…、dt1,以此类推。实际的索引数据根据需要还可包含其它的统计信息,例如该索引项在每个文档中的频率、位置等。
传统的索引结构有两种组织方式:单级索引和多级索引。
图2示出了一个包含a、b、d、f、j、k共6个词汇的单级索引的索引项词典的示例的示意图,该索引项词典以顺序方式组织。该索引项词典在初次被载入内存之后,以后都可以在内存中进行快速的查找和定位。但是,如果内存容量有限,无法载入所有的索引项,则需要每次载入一定数目的索引项,查找完毕再载入下一批数据。例如,如果索引项总量为n,内存容量为k个索引项,则一次查找最多需要n/(k+1)次磁盘访问。由此可见,在索引项数目较大的情况下,单级索引是一种效率较低的方案。
多级索引则通常以多个层次的树等方式组织索引项。图3示出了一个包含a、b、d、f、j、k共6个词汇的树形方式组织的二级索引的索引项词典的示例的示意图。假设内存的容量为3个索引项,则6个索引项被分为两块组织,并以两块的上层建立一级索引,形成一个二级索引。如果索引项更多,则依次向上建立树形方式组织的多级索引。在查找时从顶端载入,逐级向下查找,最多需要logk n+1次磁盘访问。由此可见,多级索引的方法便于组织大规模的索引项,但是其效率会随着索引项规模的扩大而逐渐下降。
综上所述,索引规模和检索响应速度是索引结构设计中存在的矛盾。在传统的索引结构中,随着索引规模的扩大,带来了诸如索引项总量庞大无法全部载入内存、或检索响应速度随着索引规模的扩大而逐渐下降等的问题。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本发明的至少一个目的在于提供一种构造索引库的方法和设备以及利用该索引库进行查询的方法,其能够至少克服上述现有技术的部分缺点和不足,以在支持大规模索引数据的同时提高整体检索响应速度。
本发明的另一个目的是提供相应的计算机程序产品和/或计算机可读存储介质。
为了实现上述目的,根据本发明的一个实施例,提供了一种构造索引库的方法,包括:将一个或多个文档中的词汇分类为第一类别或第二类别;以及根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
在该构造索引库的方法中,分类步骤可包括:判定词汇是否属于预定词汇集,如果属于则将该词汇分类为第一类别,否则将该词汇分类为第二类别。
在该构造索引库的方法中,预定词汇集可包括高频查询词。
在该构造索引库的方法中,预定词汇集可包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
在该构造索引库的方法中,还可包括将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
在该构造索引库的方法中,构建单级索引可包括以线性表、哈希表或数组的方式构建单级索引。
为了实现上述目的,根据本发明的另一实施例,提供了一种利用如上所述的方法构造的索引库进行查询的方法,包括:将查询关键词分类为第一类别或第二类别;如果该查询关键词属于第一类别,则在索引库的单级索引中检索该查询关键词以获取单级索引数据;以及如果该查询关键词属于第二类别,则在索引库的多级索引中检索该查询关键词以获取多级索引数据。
在该查询方法中,单级索引可被预先存储在访问速度较快的存储器中。
为了实现上述目的,根据本发明的又一实施例,提供了一种构造索引库的设备,包括:分类器,被配置为将一个或多个文档中的词汇分类为第一类别或第二类别;以及索引构建器,被配置为根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
在该构造索引库的设备中,分类器可被配置为判定词汇是否属于预定词汇集,如果属于则将该词汇分类为第一类别,否则将该词汇分类为第二类别。
在该构造索引库的设备中,预定词汇集可包括高频查找词。
在该构造索引库的设备中,预定词汇集可包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
在该构造索引库的设备中,索引构建器还可被配置为将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
在该构造索引库的设备中,索引构建器还可被配置为以线性表、哈希表或数组的方式构建单级索引。
依据本发明的其它实施例,还提供了相应的计算机可读存储介质和计算机程序产品。
根据本发明的实施例,通过将单级索引与多级索引相结合来构建索引库,能够在支持大规模索引数据的同时提高整体检索响应速度。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其它的优点将更加明显。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1示出了简化的索引结构示例的示意图;
图2示出了单级索引的索引项词典的示例的示意图;
图3示出了二级索引的索引项词典的示例的示意图;
图4示出了根据本发明实施例的构造索引库的方法的流程图;
图5示出了根据本发明实施例的利用本发明构建的索引库进行查询的方法的流程的示意图;
图6示出了根据本发明实施例的构建索引库的设备的示意图;
图7示出了根据本发明另一实施例的构建索引库的设备的示意图;以及
图8示出了根据本发明实施例的利用本发明构建的索引库进行查询的设备的示意图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行详细描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图和说明中仅仅描述了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了对与本发明关系不大的、本领域普通技术人员已知的部件和处理的表示和描述。
图4是示出了根据本发明实施例的构造索引库的方法的流程图。
如图4所示,根据本实施例的构造索引库的方法从步骤S401开始。在步骤S401中,将一个或多个文档中的词汇分类为第一类别或第二类别。该分类可基于预定的分类标准。例如,可以判定该词汇是否属于预定词汇集,如果属于预定词汇集则将该词汇分类为第一类别,如果不属于预定词汇集则将该词汇分类为第二类别。本领域的技术人员可以根据实际应用的需求来选择该分类标准或该预定词汇集。
例如,该预定词汇集可以包括高频查询词,其中,高频查询词可以是预先统计的查询频率高于预定阈值的查询词。应该理解,这种预先的统计可能没有覆盖所有的词汇,因此统计结果不一定是完全准确的。也可以人工选定高频查询词。
在一个示例中,预定词汇集可以包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。其中,中文符号集可以包括中文标点符号等。英文符号集可以包括英文符号等。
在一个示例中,预定词汇集也可以是任意指定的词汇集。
在一个示例中,可以预先确定第一类别的词汇的数目为M(M为正整数),在构造索引库的过程中首先被索引的M个词汇被确定为第一类别的词汇,而其他词汇为第二类别的词汇。也就是说,对前M个词汇构建单级索引,对其他词汇构建多级索引。
在步骤S402中,根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。这样,通过步骤S401和S402的处理,将一个或多个文档中的词汇分类为第一类别或第二类别,针对第一类别的词汇构建单级索引,并针对第二类别的词汇构建多级索引,从而能够在利用多级索引支持大规模索引数据的同时利用单级索引来提高整体检索响应速度。
例如,在基于对该词汇是否属于预定词汇集的判定来进行该分类的情况下,针对属于预定词汇集的词汇将构建单级索引,针对不属于预定词汇集的词汇将构建多级索引。这样,对于属于预定词汇集的查询关键词,查询对应的单级索引,从而能够提高其检索响应速度。同时,针对不属于预定词汇集的词汇构建多级索引,使得可以防止由于单级索引的索引项数目过大而导致的查询效率降低,并且可以利用多级索引来支持大规模索引数据。
例如,在该预定词汇集包括高频查询词的情况下,针对属于预定的高频查询词的词汇将构建单级索引,针对不属于预定的高频查询词的词汇将构建多级索引。这样,由于高频查询词通常只占词汇总量的一小部分,因此可以充分利用单级索引提高整体检索响应速度。
此外,例如,在该预定词汇集包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种的情况下,通过针对可枚举的词汇构建单级索引,可以充分地利用单级索引来提高检索响应速度。
此外,在根据本实施例的构造索引库的方法中,在索引库中已经存在先前构建的索引的情况下,还可以将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。例如,在采用预定词汇集对第一类词汇和第二类词汇进行划分的情况下,在更新索引库的过程中采用与已有索引库构建时相同的预定词汇集。在一个示例中,也可以将已有的单级索引中的词汇认为是第一类别的词汇。也就是说,如果新文档中的词汇已经在单级索引中存在,则将其认为是第一类别的词汇,否则将其认为是第二类别的词汇。例如,在首先被索引的M个词汇被确定为第一类别的情况下,假设已有的单级索引中的词汇数目为P个(P为正整数)如果P=M,则将这M个词汇确定为第一类别的词汇,否则在更新索引库的过程中首先被索引的M-P个新词汇被确定为第一类别的词汇。
另外,在根据本实施例的构造索引库的方法中,显然可以根据实际情况和需要使用任何已知的具体的单级索引构建方法和多级索引构建方法来构建单级索引和多级索引。优选地,可以以诸如线性表、哈希表或数组之类的线性数据结构来构建单级索引。例如,可以将索引项词典构建成数组的形式,并且利用数组元素的下标来指示该数组元素对应的索引数据的存放地址。因此,为了说明书的简洁起见,在此就不再对单级索引和多级索引的具体构建方法进行详细描述了。
此外,需要说明的是,虽然以上结合图4所示的流程图对根据本实施例的构造索引库的方法进行了描述,但是本领域技术人员应当理解,图4所示的流程图仅仅是示例性的,而不是对本发明的范围的限制,本领域技术人员完全可以根据实际需要对图4所示的流程图进行修改。例如,本领域的技术人员完全可以根据实际检索系统的性能和功能的需求来灵活地选择和设置对文档中的词汇进行分类的标准或所述预定词汇集。
还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
例如,下面将说明根据本发明的构造索引库的方法的另一具体示例。
在本示例中,配置预定词汇集IS,这里将该预定词汇集IS设为可枚举词汇集。在输入文档D之后,对文档D进行分词处理等处理,在上述的分词处理中,可以使用任何已知的分词方法。
然后,根据所配置的预定词汇集IS对所获得的待索引词汇进行分类,将其划分为两类索引项,即,可枚举索引项集合le={te1,te2,…,tem},第一类别的词汇为不可枚举索引项集合lu={tu1,tu2,…,tun},其中,le包含m个元素,lu包含n个元素。可枚举索引项集合也就是所谓的预定词汇集。
不可枚举的索引项的集合具有无限多个元素,无法通过逐个枚举的方式列出所有可能的成员,例如可包括数字,序列号或其他数字字母组合而成的词汇。可枚举索引项的集合可以包括除了不可枚举的索引项的集合以外的词汇,例如所有中文字符、常用中文词汇、英文单词及中英文符号。
考虑到计算机内存的访问速度要远大于硬盘的访问速度,同时内存容量是有限的。为了支持大规模的数据量,需要将索引存放在磁盘上。另一方面,为了获取更高的检索响应时间,需要将一部分索引放在内存里。因此,对于可枚举索引项,可以在内存中维护一个所有可枚举索引项的列表,这样可以进行快速查找。另一方面,对于不可枚举索引项,由于其成员过多,无法将其全部放入内存,因此在磁盘上维护一个多级索引,以逐级载入的方式进行查找。
此外,考虑到单级索引对高频查询词的覆盖率是影响系统整体性能的因素之一,因此可枚举索引项的集合尽可能大。
例如,可以定义词汇类别集合T={C,E,N,S},其中C表示中文字词及符号,E表示英文单词及符号,N表示数字,S表示除此之外的任意字符数字序列。这样,可以使可枚举索引项集合le包括C和E。在一个示例中还可以进行调整以使得le覆盖更多的高频检索词。例如,也可以在le中加入10000以内的数字,这样对这部分数字的查询也将检索单级索引。
接下来,针对le构造单级索引,并针对lu构造多级索引。将所构造的单级索引和多级索引统一写入索引库R={P,Ie,Iu,D}中,其中D为索引数据,P为全局信息,P包含单级索引Ie和多级索引Iu的入口地址。
由上述可知,根据本示例的构造索引库的方法结合了内存形式的单级索引的速度优势和多级索引的数据容量优势,能够在支持大规模检索数据的同时合理增加内存使用量,从而提高了整体检索响应速度。
虽然以上对根据本发明的构造索引库的方法的另一具体示例进行了描述,但是本领域技术人员同样应当理解,本示例仅仅是示范性的,而不是对本发明的范围的限制,本领域技术人员完全可以根据实际需要对其处理流程进行变型或修改。例如,本领域的技术人员可以根据实际应用的需求来设定所述预定词汇集。
上述根据本发明的实施例的构造索引库的方法例如可以由图6中的构造索引库的设备来完成。图6示出了根据本发明的实施例的构造索引库的设备的示意图。
如图6所示,根据本发明的实施例的构造索引库的设备604包括分类器602和索引构建器603。
分类器602被配置为对一个或多个待索引文档601进行分类处理,将待索引文档601中的词汇分类为第一类别或第二类别。
索引构建器603被配置为根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引,所构建的单级索引和多级索引构成了索引库605。
此外,在根据本实施例的构造索引库的设备中,在索引库中已经存在先前构建的索引的情况下,索引构建器603还可以将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
另外,在根据本实施例的构造索引库的设备中,显然可以根据实际情况和需要使用任何已知的具体的单级索引构建方式和多级索引构建方式来构建单级索引和多级索引。例如,索引构建器603可以以诸如线性表、哈希表或数组之类的线性数据结构来构建单级索引。因此,为了说明书的简洁起见,在此就不再对索引构建器603的构建单级索引和多级索引的具体方式进行详细描述了。
图7示出了根据本发明另一实施例的构建索引库的设备的示意图。
如图7所示,根据本实施例的构建索引库的设备701包括分类器702和索引构建器703。
分类器702被配置为对一个或多个待索引文档704进行分类处理,将待索引文档704中的词汇分类为第一类别或第二类别。具体地,分类器702判定待索引文档704中的词汇是否属于预定词汇集705,如果该词汇属于预定词汇集705则将该词汇分类为第一类别,如果该词汇不属于预定词汇集705则将该词汇分类为第二类别。
例如,预定词汇集705可包括高频查找词。此外,预定词汇集705也可包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
索引构建器703包括单级索引构建器706、多级索引构建器707以及索引融合器708。单级索引构建器706被配置为根据第一类别的词汇来构建单级索引。多级索引构建器707被配置为根据第二类别的词汇来构建多级索引。索引融合器708被配置为将单级索引构建器706和多级索引构建器707所构建的单级索引和多级索引合成到索引库709中。
此外,在根据本实施例的构造索引库的设备中,在索引库中已经存在先前构建的索引的情况下,索引融合器708还可以将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
此外,单级索引构建器706可以以诸如线性表、哈希表或数组之类的线性数据结构来构建单级索引。
通过阅读上文所描述的根据本发明的实施例的构造索引库的方法的操作过程,图6和图7所示的构造索引库的设备的上述各个部件的功能如何实现就变得非常清楚了,因此,为了说明书的简洁起见,在此就不再对上述各个部件的功能如何实现进行详细描述了。
此外,需要说明的是,虽然以上结合图6和7所示的示意图对根据本实施例的构造索引库的设备进行了描述,但是本领域技术人员应当理解,图6和7所示的示意图仅仅是示例性的,而不是对本发明的范围的限制。本领域技术人员完全可以根据实际需要对图6和7所示的示意图进行变型或更改。例如,本领域的技术人员完全可以根据实际检索系统的性能和功能的需求来灵活地选择和设置对文档中的词汇进行分类的标准或所述预定词汇集。
根据本发明的实施例,还提供了一种利用本发明的构建索引库的方法所构建的索引库来进行查询的方法以及相应的设备。
图5示出了根据本发明实施例的利用本发明构建的索引库进行查询的方法的流程的示意图。
如图5所示,本实施例的查询方法从步骤S501开始。在步骤S501中,将查询关键词分类为第一类别或第二类别。例如,可以判定查询关键词是否属于预定词汇集,如果该查询关键词属于预定词汇集则将该查询关键词分类为第一类别,如果该查询关键词不属于预定词汇集则将该查询关键词分类为第二类别。
例如,该预定词汇集可包括高频查找词。此外,该预定词汇集也可包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
然后,在步骤S502中,如果该查询关键词属于第一类别,则在利用本发明构建的索引库中的单级索引中检索该查询关键词以获取对应的单级索引数据;如果该查询关键词属于第二类别,则在利用本发明构建的索引库中的多级索引中检索该查询关键词以获取对应的多级索引数据。
此外,为了提高检索响应速度,在本实施例的查询方法中,可以将单级索引预先存储在访问速度较快的存储器(如内存)中。这样,在查询单级索引时,只需访问速度较快的存储器。因此,在适当设置所述分类的标准的情况下,例如在适当设置所述预定词汇集的情况下,能够使得大部分检索操作只需访问速度较快的存储器,从而能够在通过多级索引支持大规模检索数据的同时大大提供整体检索响应速度。
应该注意,查询关键词可以是对用户输入的查询词汇进行分词得到的。本领域的技术人员可以采用已知的各种方法进行分词,这里不再详细描述。
此外,需要说明的是,虽然以上结合图5所示的流程图对根据本实施例的利用本发明构建的索引库进行查询的方法进行了描述,但是本领域技术人员应当理解,图5所示的流程图仅仅是示例性的,而不是对本发明的范围的限制,本领域技术人员完全可以根据实际需要对图5所示的流程图进行修改。例如,本领域的技术人员完全可以根据实际检索系统的性能和功能的需求来灵活地选择和设置对查询关键词进行分类的标准或所述预定词汇集。
还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
例如,下面将说明利用本发明构造的索引库进行查询的方法的另一具体示例。
首先,预先将利用本发明构建的索引库中的单级索引载入内存。
然后,对查询关键词进行分类,判断该查询关键词是可枚举索引项还是不可枚举索引项。如果该查询关键词是可枚举索引项,则在已载入内存的单级索引中进行检索。如果该查询关键词是不可枚举索引项,则在多级索引中进行检索。如果检索到对应的索引数据,则读取该索引数据,并返回结果。
在本示例中,单级索引被预先载入内存中。因此,在检索单级索引时是内存操作。因此,对于可枚举索引项的检索操作是内存查找或直接定位。
此外,在本示例中,显然可以根据实际情况和需要使用任何已知的具体的单级索引构建方法和多级索引构建方法来构建单级索引和多级索引。例如,可以以诸如线性表、哈希表或数组之类的线性数据结构来构建单级索引。相应地,例如,对于单级索引,至少可以采用以下几种检索方式:
(1)载入的单级索引在内存中构成如图2所示的顺序线性结果,可以通过任意一种线性查找算法如二分查找或分块查找来实现对该单级索引的检索。
(2)对单级索引的所有关键词构造hash表来进行检索。
由上述可知,根据本示例的利用本发明构造的索引库进行查询的方法结合了内存形式的单级索引的速度优势和多级索引的数据容量优势,能够在支持大规模检索数据的同时合理增加内存使用量,从而提高了整体检索响应速度。
虽然以上对利用本发明构造的索引库进行查询的方法的另一具体示例进行了描述,但是本领域技术人员同样应当理解,本示例仅仅是示范性的,而不是对本发明的范围的限制,本领域技术人员完全可以根据实际需要对其处理流程进行变型或修改。
上述根据本发明的实施例的利用本发明构造的索引库进行查询的方法例如可以由图8中的利用本发明构建的索引库进行查询的设备来完成。图8示出了根据本发明实施例的利用本发明构建的索引库进行查询的设备的示意图。
如图8所示,根据本实施例的利用本发明构建的索引库进行查询的设备包括关键词分类器801和索引检索器802。关键词分类器801被配置为将查询关键词807分类为第一类别或第二类别。例如,关键词分类器801可以判定查询关键词807是否属于预定词汇集,如果查询关键词807属于预定词汇集则将该查询关键词807分类为第一类别,如果查询关键词807不属于预定词汇集则将该查询关键词807分类为第二类别。
例如,预定词汇集705可包括高频查找词。此外,预定词汇集705也可包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
如果查询关键词807属于第一类别,则索引检索器802在利用本发明构建的索引库中的单级索引803中检索查询关键词807,以获取对应的单级索引数据805。
如果查询关键词807属于第二类别,则索引检索器802在利用本发明构建的索引库中的多级索引804中检索查询关键词807,以获取对应的多级索引数据806。
通过阅读上文所描述的根据本发明的实施例的利用本发明构建的索引库来进行查询的方法的操作过程,图8所示的利用本发明构建的索引库进行查询的设备的上述各个部件的功能如何实现就变得非常清楚了,因此,为了说明书的简洁起见,在此就不再对上述各个部件的功能如何实现进行详细描述了。
虽然已经详细说明了本发明及其优点,但是应当理解在不脱离由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。
而且,根据本发明的方法和装置既可以通过硬件实现,也可以通过软件和固件实现。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。
在该计算机中,中央处理单元(CPU)根据只读存储器(ROM)中存储的程序或从存储部分加载到随机存取存储器(RAM)的程序执行各种处理。在RAM中,也根据需要存储当CPU执行各种处理等等时所需的数据。CPU、ROM和RAM经由总线彼此连接。输入/输出接口也连接到总线。下述部件连接到输入/输出接口:输入部分,包括键盘、鼠标等等;输出部分,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等等,和扬声器等等;存储部分,包括硬盘等等;以及通信部分,包括网络接口卡比如LAN卡、调制解调器等等。通信部分经由网络比如因特网执行通信处理。根据需要,驱动器也连接到输入/输出接口。可拆卸介质比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器上,使得从中读出的计算机程序根据需要被安装到存储部分中。在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质。可拆卸介质的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM、存储部分中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
此时,只要该系统或者设备具有执行程序的功能,则本发明的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作系统的脚本程序等。
另外,计算机通过连接到因特网上的相应网站,并且将依据本发明的计算机程序代码下载和安装到计算机中然后执行该程序,也可以实现本发明。
而且,所述实施本发明的程序也可以例如采用一个或多个信号的形式。所述信号可以是可从互联网站点下载的数据信号,或是在载波信号上提供的数据信号,或是以任何其它形式的数据信号。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上虽然结合附图详细描述了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以在不偏离本发明的精神和范围的情况下对上述实施方式作出各种修改和变更。因此,本发明的范围仅由所附的权利要求及其等效内容来限定。
附记
附记1.一种构造索引库的方法,包括:
将一个或多个文档中的词汇分类为第一类别或第二类别;以及
根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
附记2.如附记1所述的构造索引库的方法,其中所述分类步骤包括:
判定所述词汇是否属于预定词汇集,如果属于则将所述词汇分类为第一类别,否则将所述词汇分类为第二类别。
附记3.如附记2所述的构造索引库的方法,其中所述预定词汇集包括高频查询词。
附记4.如附记2所述的构造索引库的方法,其中所述预定词汇集包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
附记5.如附记1所述的构造索引库的方法,还包括将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
附记6.如附记1所述的构造索引库的方法,其中所述构建单级索引包括以线性表、哈希表或数组的方式构建单级索引。
附记7.一种利用如附记1-6中任一所述的方法构造的索引库进行查询的方法,包括:
将查询关键词分类为所述第一类别或所述第二类别;
如果所述查询关键词属于所述第一类别,则在所述索引库的单级索引中检索所述查询关键词以获取单级索引数据;以及
如果所述查询关键词属于所述第二类别,则在所述索引库的多级索引中检索所述查询关键词以获取多级索引数据。
附记8.如附记7所述的检索索引库的方法,其中所述单级索引被预先存储在访问速度较快的存储器中。
附记9.一种构造索引库的设备,包括:
分类器,被配置为将一个或多个文档中的词汇分类为第一类别或第二类别;以及
索引构建器,被配置为根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
附记10.如附记9所述的设备,其中所述分类器被配置为判定所述词汇是否属于预定词汇集,如果属于则将所述词汇分类为第一类别,否则将所述词汇分类为第二类别。
附记11.如附记9所述的设备,其中所述预定词汇集包括高频查找词。
附记12.如附记9所述的设备,其中所述预定词汇集包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
附记13.如附记9所述的设备,其中所述索引构建器还被配置为将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
附记14.如附记9所述的设备,其中所述索引构建器还被配置为以线性表、哈希表或数组的方式构建所述单级索引。
Claims (10)
1.一种构造索引库的方法,包括:
将一个或多个文档中的词汇分类为第一类别或第二类别;以及
根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
2.如权利要求1所述的构造索引库的方法,其中所述分类步骤包括:
判定所述词汇是否属于预定词汇集,如果属于则将所述词汇分类为第一类别,否则将所述词汇分类为第二类别。
3.如权利要求2所述的构造索引库的方法,其中所述预定词汇集包括高频查询词。
4.如权利要求2所述的构造索引库的方法,其中所述预定词汇集包括中文词汇集或其子集、英文单词集或其子集、中文符号集或其子集、英文符号集或其子集、常用数字中的任意一种或多种。
5.如权利要求1所述的构造索引库的方法,还包括将针对新的一个或多个文档构建的新的单级索引和多级索引分别与索引库中已有的单级索引和多级索引相合并。
6.如权利要求1所述的构造索引库的方法,其中所述构建单级索引包括以线性表、哈希表或数组的方式构建单级索引。
7.一种利用如权利要求1-6任一个所述的方法构造的索引库进行查询的方法,包括:
将查询关键词分类为所述第一类别或所述第二类别;
如果所述查询关键词属于所述第一类别,则在所述索引库的单级索引中检索所述查询关键词以获取单级索引数据;以及
如果所述查询关键词属于所述第二类别,则在所述索引库的多级索引中检索所述查询关键词以获取多级索引数据。
8.一种构造索引库的设备,包括:
分类器,被配置为将一个或多个文档中的词汇分类为第一类别或第二类别;以及
索引构建器,被配置为根据第一类别的词汇来构建单级索引,并根据第二类别的词汇来构建多级索引。
9.如权利要求8所述的设备,其中所述分类器被配置为判定所述词汇是否属于预定词汇集,如果属于则将所述词汇分类为第一类别,否则将所述词汇分类为第二类别。
10.如权利要求9所述的设备,其中所述预定词汇集包括高频查找词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101036106A CN102135969A (zh) | 2010-01-22 | 2010-01-22 | 构造索引库的方法和设备以及查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101036106A CN102135969A (zh) | 2010-01-22 | 2010-01-22 | 构造索引库的方法和设备以及查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102135969A true CN102135969A (zh) | 2011-07-27 |
Family
ID=44295757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101036106A Pending CN102135969A (zh) | 2010-01-22 | 2010-01-22 | 构造索引库的方法和设备以及查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102135969A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024416A1 (zh) * | 2013-08-21 | 2015-02-26 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN104834736A (zh) * | 2015-05-19 | 2015-08-12 | 深圳证券信息有限公司 | 构建索引库的方法、装置及检索的方法、装置和系统 |
CN106874470A (zh) * | 2017-02-16 | 2017-06-20 | 季春庆 | 一种人员信息评测方法及系统 |
WO2020084440A1 (en) * | 2018-10-23 | 2020-04-30 | International Business Machines Corporation | Cognitive collation configuration for enhancing multilingual data governance and management |
-
2010
- 2010-01-22 CN CN2010101036106A patent/CN102135969A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015024416A1 (zh) * | 2013-08-21 | 2015-02-26 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN104424204A (zh) * | 2013-08-21 | 2015-03-18 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN104424204B (zh) * | 2013-08-21 | 2017-08-11 | 华为技术有限公司 | 索引机制合并方法、搜索方法、装置及设备 |
CN104834736A (zh) * | 2015-05-19 | 2015-08-12 | 深圳证券信息有限公司 | 构建索引库的方法、装置及检索的方法、装置和系统 |
CN106874470A (zh) * | 2017-02-16 | 2017-06-20 | 季春庆 | 一种人员信息评测方法及系统 |
WO2020084440A1 (en) * | 2018-10-23 | 2020-04-30 | International Business Machines Corporation | Cognitive collation configuration for enhancing multilingual data governance and management |
GB2591210A (en) * | 2018-10-23 | 2021-07-21 | Ibm | Cognitive collation configuration for enhancing multilingual data governance and management |
US11256862B2 (en) | 2018-10-23 | 2022-02-22 | International Business Machines Corporation | Cognitive collation configuration for enhancing multilingual data governance and management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565273B2 (en) | Tenantization of search result ranking | |
US9418144B2 (en) | Similar document detection and electronic discovery | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
CN104021161A (zh) | 一种聚簇存储方法及装置 | |
Trotman et al. | Towards an Efficient and Effective Search Engine. | |
CN102012900A (zh) | 信息检索方法和系统 | |
CN104123366A (zh) | 一种搜索方法及搜索服务器 | |
US8645384B1 (en) | Updating taxonomy based on webpage | |
CN103430172A (zh) | 检索装置、检索方法及程序 | |
CN113407785B (zh) | 一种基于分布式储存系统的数据处理方法和系统 | |
CN102365640A (zh) | 在分级的基于信任的配置中结构化并搜索数据 | |
WO2019171190A1 (en) | System and method for searching based on text blocks and associated search operators | |
CN114722137A (zh) | 基于敏感数据识别的安全策略配置方法、装置及电子设备 | |
CN112115361A (zh) | 一种基于elasticsearch的数据检索优化方法及系统 | |
CN111061828B (zh) | 一种数字图书馆知识检索方法及装置 | |
CN102135969A (zh) | 构造索引库的方法和设备以及查询方法 | |
US20090077031A1 (en) | System and method for creating full-text indexes of patent documents | |
CN101944117B (zh) | 基于数据库的排序和检索方法和系统 | |
CN102270201A (zh) | 用于网络文件的多维索引的方法和设备 | |
CN101894158B (zh) | 一种智能检索系统 | |
CN102163199A (zh) | 构造索引库的方法和设备以及查询方法 | |
CN102207947B (zh) | 一种直接引语素材库的生成方法 | |
CN115168401A (zh) | 数据分级处理方法及装置、电子设备及计算机可读介质 | |
CN108256064A (zh) | 一种数据搜索方法和装置 | |
CN113051919B (zh) | 一种识别命名实体的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110727 |