一种使用位图索引的全文检索方法和装置的制作方法

文档序号:6371350阅读:107来源:国知局
专利名称:一种使用位图索引的全文检索方法和装置的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及一种使用位图索引的全文检索方法和装置。
背景技术
XML(全称 Extensible Markup Language),是一种专门为 internet 而设计的一种标记语言,且由于其具有有效的表达各种信息、数据和使各种应用协同工作的能力,业已成为数据发布和数据交换的事实标准,因此,XML在近几年得到了发展和广泛的应用。XML的重点不在于数据的形式本身,而在于管理数据信息,因此,XML使得不同数据库模式的统一成为可能,为异构数据库的集成问题提供了途径。 XML数据库管理系统(XMLDBMS)是近年来快速发展的一种新型的数据库管理系统(DBMS),其用于存储和检索的数据为XML文档,并且支持XML文档的更新操作。随着XML标准被越来越多的行业采纳为数据交换标准,XML数据的管理(包括存储、检索、更新等)需求也保持着持续快速地增长,特别是XML数据库管理系统比关系数据库管理系统更加适合处理文本类数据和XML文档数据。查询引擎是数据库管理系统(数据库管理系统)中的核心子系统,由于XML是典型的半结构化数据,对XML数据的查询要求不同于传统数据库,在查询时不仅要对数据库中的数值进行查询,而且要对XML文档的结构和数据之间的关系进行查询。在XML数据库管理系统中存储XML文档的实体称为容器,一个容器中存储任意多个XML文档的数据内容,而这个容器由若干个数据表支撑,分别存储这些XML文档的各个方面的数据和结构信息,包括节点数据,节点间关系,路径数据,各种索引,各种统计信息等。数据表存储的单位是数据行,一个数据表中含有若干个数据行,并且可以通过索引快速查找到特定的数据行。数据表中的每一行的位置使用一个TID来标识,一个TID唯一地标识一个数据行并且含有这个数据行在数据表中的地址,这样我们可以用TID找到数据行。XML文档内容被作为节点数据存储在一个节点表中,在XDM的7种节点中,把属性节点,名字空间节点,文本节点,注释节点和处理指令节点都存放在它们的父亲节点(必然是元素节点)中,因此节点表中只存储元素节点和文档节点。文档节点存储一个XML文档的元数据信息,而文档的内容则存储在这个文档的所有的元素节点中。随着XML相关技术的深入研究,XML查询已经具备了坚实的技术基础在此基础上,W3CfforIdffideffebConsortium于2001年12月提出了 XML查询语言规范工作草案-XQuery语言,迄今为止,XQuery语言一直在不断的发展中。XML数据的检索和更新语言是由W3C制定的标准的XQuery和XQuery Update。W3C同时制定了 XQuery Fulltext标准,作为XML数据库管理系统的标准的全文检索语言。为了确保XML数据库管理系统的全文检索可以高效地执行,需要一个高效的文本索引来支持全文检索
发明内容
为解决上述问题,本发明技术方案提供的一种使用位图索引的全文检索方法,适用于XML数据库管理系统,包括以下的步骤解析XML文档,获取所述XML文档的所有元素节点;将所述XML文档的所有元素节点存储至一节点表中;取出所述元素节点的所有文本子节点,并将所有文本子节点拆分成若干个单词,构成一集合;对所述集合执行停用词过滤,得到有效单词集合;构建位图索引表;利用所述位图索引表进行全文检索。
可选地,所述构建位图索引表具体为根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图,形成所述位图索引表。可选地,利用下述的公式根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ;其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。可选地,进一步包括,在所述将所述XML文档的所有元素节点存储至一节点表中的过程中,还进一步包括,为所述位图索引表的每个数据行构建索引键值,具体为所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值;所述回调函数为IndexKeyRange IndexBuilder (HeapTuple htup, Relation heap, Relationindex);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图索引表的句柄对象,返回值为IndexKeyRange类型的对象。可选地,进一步包括对所述构建的有效单词集合中的各个单词形成的位图执行RLE压缩。可选地,所述的利用所述位图索引进行全文检索的方法具体为在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词;使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合;使用位图索引表依次查询有效单词集合中的单词得到若干个位图;对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。可选地,所述解析XML文档,以获取所述XML文档的所有元素节点具体为将所述XML文档送入SAX模式的XML文档解析器进行解析,以获得所述XML文档的所有元素节点。本发明还提供了一种使用位图索引的全文检索装置,包括文档解析单元,用于解析XML文档,获取所述XML文档的所有元素节点;
节点存储单元,用于将所述XML文档的所有元素节点存储至一节点表中;文本节点拆分单元,用于取出所述元素节点的所有文本子节点,并对所述文本子节点拆分成若干个单词,构成一集合;过滤单元,用于对所述集合执行停用词过滤,得到有效单词集合;索引表构建单元,用于构建位图索引表;检索单元,用于利用所述位图索引表进行全文检索。可选地,所述的索引表构建单元具体为根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图,形成所述位图索引表。可选地,所述的索引构建单元利用下述的公式根据所述有效单词集合中的各个单 词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ;其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。可选地,所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值;所述回调函数为IndexKeyRange IndexBuilder (HeapTuple htup, Relation heap, Relationindex);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图索引表的句柄对象,返回值为IndexKeyRange类型的对象。可选地,进一步包括一压缩单元,所述的压缩单元用于对所述构建的有效单词集合中的各个单词形成的位图执行RLE压缩。可选地,所述的检索单元进一步包括查询字符串拆分单元,用于在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词;停用词过滤单元,用于使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合;位图查询单元,用于使用位图索引表依次查询有效单词集合中的单词得到若干个位图;目标位图获取单元,用于对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。可选地,所述的所述的文档解析单元用于将所述XML文档送入SAX模式的XML文档解析器进行解析,以获得所述XML文档的所有元素节点。与现有技术相比,上述技术方案具有下优点本发明的技术方案使得现有的XML数据库管理系统中的XML数据访问模块可以快速地进行单词的存在性测试,由于全文检索的目标就是要找到含有用户指定的某些单词的节点数据行,所以这种存在性测试是全文检索中最核心和最重要的功能之一,与传统的B+树索引相较而言,本发明的使用位图索引的全文检索方法可以实现更加高效的全文索引,同时,由于使用了位图索引,也在很大程度上显著提高了全文检索的性能。


图I是本发明实施方式的使用位图索引的全文检索方法的流程图;图2是本发明的实施方式的使用位图索引的全文检索方法中的步骤S6的流程图;图3是本发明的实施方式的使用位图索引的全文检索装置的组成框架示意图;图4为本发明的实施方式的使用位图索引的全文检索装置的检索单元的组成框架示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式
的限制。本领域的技术人员知道,在XML数据库管理系统中存储XML文档的实体称为容器,一个容器中存储任意多个XML文档的数据内容,而这个容器由若干个数据表支撑,分别存储这些XML文档的各个方面的数据和结构信息,包括节点数据,节点间关系,路径数据,各种索引,各种统计信息等。数据表存储的单位是数据行,一个数据表中含有若干个数据行,并且可以通过索引快速查找到特定的数据行。数据表中的每一行的位置使用一个TID来标识,一个TID唯一地标识一个数据行并且含有这个数据行在数据表中的地址,这样我们可以用TID找到数据行。位图其实就是一个位序列,这些位以整数的方式组织起来,比如一个128位的位图通常放置在4个32位整数组成的数组中,或者放置在2个64位整数组成的数组中。位图的每一位为O或者为I可以表示一个事实的真假。一个位图索引中可以含有任意多个位图。由此可见,位图索引可以很好地表达任意数目的存在性事实。为解决现有技术中的问题,本发明的发明人经过研究,提出了使用位图索引的全文检索方法,可适用于XML数据库管理系统,。参阅图1,图I是本发明实施方式的使用位图索引的全文检索方法的流程图。本发明实施方式的使用位图索引的全文检索方法,包括首先,进入步骤SI :解析XML文档,并获取所述XML文档的所有元素节点;其中,优选地,本发明实施方式中的解析XML文档,获取所述XML文档的所有元素节点具体为将XML文档送入SAX模式的XML文档解析器中,XML文档解析器会通过事件通知的形式让数据库管理系统中的查询引擎获得XML文档的所有元素节点数据。进入步骤S2 :将所述XML文档的所有元素节点存储至一节点表中;其中,本步骤的执行与现有技术中的XML数据库管理系统中的机制同理,XML数据库管理系统中的查询引擎在文本节点所属的元素节点解析结束时刻会得到XML解析器的SAX事件通知,查询引擎处理SAX事件的方法是调用存储引擎的数据行存储方法,把所述元素节点数据存储到节点表中,从而完成本步骤的执行。
另外,在本发明的一个优选的实施方式中,在所述将所述XML文档的所有元素节点存储至一节点表中的过程中,还进一步包括,在将数据行存储在所述节点表的过程中,为所述位图索引表的每个数据行构建索引键值,具体为所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值;所述回调函数为IndexKeyRange IndexBuilder (HeapTuple htup, Relation heap, Relationindex);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图 索引表的句柄对象,返回值为IndexKeyRange类型的对象,该对象含有索引键在htup数据行中的起始偏移和长度。得到了 IndexKeyRange我们就可以把htup中的索引键值部分取出来作为索引键值。这样,在将一个数据行存储至所述节点表的过程中,通过依次调用所有位图索引表的IndexBuilder函数,依次为每一个位图索引表构建索引键值并且把索引键值(TID)作为一个索引数据行存储到位图索引表中。进入步骤S3 :取出所述元素节点的所有文本子节点并将所有文本子节点拆分成若干个单词,构成一集合;进入步骤S4 :对所述集合执行停用词过滤,得到有效单词集合;其中,在前一步骤中,拆分出的文本子节点的单词中含有在查询或者检索时不具有意义的停用词,因此,为了提高检索的效率,需要进入本步骤,将停用词进行过滤,从而得到有效单词集合。进入步骤S5 :构建位图索引表;其中,优选地,在本发明的实施方式中,根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图,形成一位图索引表;其中,利用下述的公式根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ;其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。对有效集合中的每一个单词而言,由于这些单词存在于节点表的相应的数据行中,因此,有效集合中的每个单词的第i位会被设置为l(i = TID. block*M+TID. offset)。通过计算上述的两个变量值block和offset,就完成了将每个单词的位图中第i位映射到一个节点表的一个数据行的目标。需要指出的是,当一个节点数据内容被更新时,为了性能考虑可以不去除那些原来指向这个节点数据行的位图索引。这样,当我们得到一个节点时,还需要进一步在其中做分词,并且查找目标单词。但是,由于避免了在一个容器的节点表中的大量的节点中查找目标单词,可以以较低的代价得到所有含有目标单词的节点数据行,因而加速了全文检索的效率的同时,降低了操作成本。另外,由于在位图索引表中,文档容器存储的所有文档的每一个单词都对应一个位图,每个单词的位图的每一位对应于一个或者O个节点数据行,其中,I则表示这个单词存在于节点数据行中;0则表示该单词不存在于该数据行中。因此,采用上述的方式存储的位图中可能会出现大量连续的O位和I位。为了进一步提高全文检索的性能,对于每个单词的位图执行RLE(Run Length Encoding)压缩,这样,存储在位图索引表中的位图就是经过RLE压缩后的位图。进入步骤S6 :利用所述位图索引表进行全文检索。参见图2,图2示出了利用位图索引表进行全文检索的具体流程图。利用位图索引表进行全文检索的具体流程具体为在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词;使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合;使用位图索引表依次查询有效单词集合中的单词得到若干个位图; 对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。在利用上述形成位图索引表进行xquery fulltext查询时,将查询条件字符串做分词,得到查询条件中的每个单词,而后,通过使用默认的停用词表过滤后,得到有效查询单词集合。把有效查询集合中的单词依次使用位图索引表查询得到苦干个位图。根据查询条件的不同,有效查询单词集合中的单词之间的逻辑关系也即是这些单词的位图之间的运算关系。对这些位图执行逻辑运算得到最终的位图,也就是最终符合全文检索条件的节点数据行的TID集合。由于,数据表中的每一行的位置使用一个TID来标识,一个TID唯一地标识一个数据行并且含有这个数据行在数据表中的地址,因此可以用TID找到相应的数据行,从而完成全文检索的目标。例如,有效查询单词集合={ “英语”,“教师”},其中的“英语”和“教师“两个单词之间的逻辑关系是与,也即是查询同时含有“英语”和“教师”两个单词的XML元素节点。所以查询引擎就从位图索引表中获取”英语”和”教师”两个单词的位图,然后把”英语”和”教师”两个单词的位图做“与”操作,得到最终的位图,这个位图中为I的位对应的数据行就是同时含有”英语”和”教师”两个单词的节点数据行。参阅图3,图3示出了本发明实施方式的使用位图索引的全文检索装置,包括文档解析单元110,用于解析XML文档,获取所述XML文档的所有元素节点;其中,所述的文档解析单元110用于将所述XML文档送入SAX模式的XML文档解析器进行解析,以获得所述XML文档的所有元素节点。节点存储单元120,用于将所述XML文档的所有元素节点存储至一节点表中;文本节点拆分单元130,用于取出所述元素节点的所有文本子节点,并对所述文本子节点拆分成若干个单词,构成一集合;过滤单元140,用于对所述集合执行停用词过滤,得到有效单词集合;索引表构建单元150,用于构建位图索引表;所述的索引表构建单元具150体为利用下述的公式根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ;
其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。其中的所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值;所述回调函数为IndexKeyRange IndexBuilder (HeapTuple htup, Relation heap, Relationindex);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图索引表的句柄对象,返回值为IndexKeyRange类型的对象。另外,由于在位图索引表中,文档容器存储的所有文档的每一个单词都对应一个 位图,每个单词的位图的每一位对应于一个或者O个节点数据行,其中,I则表示这个单词存在于节点数据行中;0则表示该单词不存在于该数据行中。因此,采用上述的方式存储的位图中可能会出现大量连续的O位和I位。为了进一步提高全文检索的性能,索引构建单元150还进一步包括一压缩单元,用于对各个单词的位图执行RLE (Run Length Encoding)压缩,这样,存储在位图索引表中的位图就是经过RLE压缩后的位图。检索单元160,用于利用所述位图索引表进行全文检索。其中,所述的检索单元进一步包括参阅图4,图4示出了本发明中的检索单元160进一步包括查询字符串拆分单元160a,用于在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词;停用词过滤单元160b,用于使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合;位图查询单元160c,用于使用位图索引表依次查询有效单词集合中的单词得到若干个位图;目标位图获取单元160d,用于对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。综上所述,本发明的技术方案具有如下的优点本发明的技术方案使得现有的XML数据库管理系统中的XML数据访问模块可以快速地进行单词的存在性测试,由于全文检索的目标就是要找到含有用户指定的某些单词的节点数据行,所以这种存在性测试是全文检索中最核心和最重要的功能之一,与传统的B+树索引相较而言,本发明的使用位图索引的全文检索方法可以实现更加高效的全文索引,同时,由于使用了位图索引,也在很大程度上显著提高了全文检索的性能。应当理解的是这里所描述的方法和系统可以以各种形式的硬件、软件、固件、专用处理机或者它们的组合实现。尤其是,至少本发明的一部分包括程序指令的应用程序优选实现。这些程序指令被确实地包括在一个或者多个程序存储设备(包括但不限于硬盘,磁性软盘,RAM, ROM,⑶,ROM等)里,并且可由任何包括适当结构的设备或者机器,例如一种具有处理器、内存和输入/输出接口的通用数字计算机执行。还应当理解由于附图中描述的一些系统的组成部件和处理步骤优选地以软件实现,所以,系统模块(或者方法步骤的逻辑流程)之间的连接可能不同,这取决于本发明的编程方式。根据这里给出的指导,相关领域的普通技术人员将能够设计出本发明的这些以及类似的实施方式。以上公开了本发明的多个方面和实施方式,本领域的技术人员会明白本发明的其 它方面和实施方式。本发明中公开的多个方面和实施方式只是用于举例说明,并非是对本发明的限定,本发明的真正保护范围和精神应当以权利要求书为准。
权利要求
1.一种使用位图索引的全文检索方法,适用于XML数据库管理系统,其特征在于,包括以下的步骤 解析XML文档,获取所述XML文档的所有元素节点; 将所述XML文档的所有元素节点存储至一节点表中; 取出所述元素节点的所有文本子节点,并对所述文本子节点拆分成若干个单词,构成一集合; 对所述集合执行停用词过滤,得到有效单词集合; 构建位图索引表; 利用所述位图索引表进行全文检索。
2.如权利要求I所述的使用位图索引的全文检索方法,其特征在于,所述构建位图索引表具体为根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图,形成所述位图索引表。
3.如权利要求2所述的使用位图索引的全文检索方法,其特征在于,利用下述的公式根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ; 其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。
4.如权利要求I所述的使用位图索引的全文检索方法,其特征在于,在所述将所述XML文档的所有元素节点存储至一节点表中,还进一步包括,在将数据行存储在所述节点表的过程中,为所述位图索引表的每个数据行构建索引键值,具体为所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值; 所述回调函数为IndexKeyRange IndexBuilder(HeapTuple htup, Relation heap, Relation index);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图索引表的句柄对象,返回值为IndexKeyRange类型的对象。
5.如权利要求I所述的使用位图索引的全文检索方法,其特征在于,进一步包括对所述构建的有效单词集合中的各个单词形成的位图执行RLE压缩。
6.如权利要求I所述的使用位图索引的全文检索方法,其特征在于,所述的利用所述位图索引进行全文检索的方法具体为 在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词; 使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合; 使用位图索引表依次查询有效单词集合中的单词得到若干个位图; 对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。
7.如权利要求I所述的使用位图索引的全文检索方法,其特征在于,所述解析XML文档,以获取所述XML文档的所有元素节点具体为将所述XML文档送入SAX模式的XML文档解析器进行解析,以获得所述XML文档的所有元素节点。
8.一种使用位图索引的全文检索装置,其特征在于,包括 文档解析单元,用于解析XML文档,获取所述XML文档的所有元素节点; 节点存储单元,用于将所述XML文档的所有元素节点存储至一节点表中; 文本节点拆分单元,用于取出所述元素节点的所有文本子节点,并对所述文本子节点拆分成若干个单词,构成一集合; 过滤单元,用于对所述集合执行停用词过滤,得到有效单词集合; 索引表构建单元,用于构建位图索引表; 检索单元,用于利用所述位图索引表进行全文检索。
9.如权利要求8所述的使用位图索引的全文检索装置,其特征在于,所述的索引表构建单元具体为根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图,形成所述位图索引表。
10.如权利要求9所述的使用位图索引的全文检索装置,其特征在于,所述的索引构建单元利用下述的公式根据所述有效单词集合中的各个单词与所述节点表的数据行之间的映射关系构建所述有效单词集合中的各个单词的位图block = i/M ;offset = i % M ; 其中,TID为节点表中的数据行的地址,表示成为(block,offset),M为一个数据页中可存储的数据行数目的最大值,i表示每个单词的位图中的位置。
11.如权利要求8所述的使用位图索引的全文检索装置,其特征在于,所述位图索引表具有一回调函数,所述回调函数负责为所述位图索引表的每个数据行构建索引键值; 所述回调函数为IndexKeyRange IndexBuilder(HeapTuple htup, Relation heap, Relation index);其中,所述htup为所述节点表的数据行,heap和index是所述节点表和所述位图索引表的句柄对象,返回值为IndexKeyRange类型的对象。
12.如权利要求8所述的使用位图索引的全文检索装置,其特征在于,进一步包括一压缩单元,所述的压缩单元用于对所述构建的有效单词集合中的各个单词形成的位图执行RLE压缩。
13.如权利要求8所述的使用位图索引的全文检索装置,其特征在于,所述的检索单元进一步包括 查询字符串拆分单元,用于在xquery fulltext查询时,将其中的查询条件字符串拆分成若干单词; 停用词过滤单元,用于使用默认的停用词表过滤上述的若干单词,得到有效的查询单词集合; 位图查询单元,用于使用位图索引表依次查询有效单词集合中的单词得到若干个位图; 目标位图获取单元,用于对所述的若干位图执行符合查询条件的目标逻辑运算得到最终的位图,也即得到最终符合全文检索条件的节点数据行的TID集合。
14.如权利要求8所述的使用位图索引的全文检索装置,其特征在于,所述的文档解析单元用于将所述XML文档送入SAX模式的XML文档解析器进行解析,以获得所述XML文档的所有 元素节点。
全文摘要
本发明提供了一种使用位图索引的全文检索方法和装置。本发明的技术方案使得现有的XML数据库管理系统中的XML数据访问模块可以快速地进行单词的存在性测试,由于全文检索的目标就是要找到含有用户指定的某些单词的节点数据行,所以这种存在性测试是全文检索中最核心和最重要的功能之一,与传统的B+树索引相较而言,本发明的使用位图索引的全文检索方法可以实现更加高效的全文索引,同时,由于使用了位图索引,也在很大程度上显著提高了全文检索的性能。
文档编号G06F17/30GK102760165SQ20121019387
公开日2012年10月31日 申请日期2012年6月12日 优先权日2012年6月12日
发明者孙伟丰, 李书淦, 李泉, 李 浩, 程仁波, 罗正海, 赵伟, 郑程光 申请人:上海方正数字出版技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1