CN102033954A - 关系数据库中可扩展标记语言文档全文检索查询索引方法 - Google Patents
关系数据库中可扩展标记语言文档全文检索查询索引方法 Download PDFInfo
- Publication number
- CN102033954A CN102033954A CN 201010605202 CN201010605202A CN102033954A CN 102033954 A CN102033954 A CN 102033954A CN 201010605202 CN201010605202 CN 201010605202 CN 201010605202 A CN201010605202 A CN 201010605202A CN 102033954 A CN102033954 A CN 102033954A
- Authority
- CN
- China
- Prior art keywords
- node
- text
- word
- record
- index
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种关系数据库中可扩展标记语言文档全文检索查询索引方法,包括:采用基于标签序列的二维关系表方式存储XML文档数据;构建文档结构基本信息表;在文档结构基本信息表的节点文本列上创建基于单词的倒排索引;进行基于索引的全文检索查询四个步骤,本发明的索引方法能够有效提高对可扩展标记语言文档的管理效率和可扩展标记语言文档进行全文检索操作时的执行效率,减少查询执行时间;也具有较高的通用性,通过使用关系模式对XML文档数据和索引数据进行存储,能够与已有的关系数据库无缝融合;同时能够应用于对XML文档数据的关键字检索的查询中,提高查询的执行效率。
Description
技术领域
本发明属于计算机数据库技术领域,特别涉及一种面向关系数据库中支持可扩展标记语言文档全文检索查询的索引方法。
背景技术
随着可扩展标记语言(Extensible Markup Language XML)逐渐成为数据表示和数据交换的标准,XML在越来越多的领域得到了广泛的应用,XML文档的数量也在逐渐增多,如何从大量XML文档中查询出用户满意的结果已经成为数据库应用领域一个重要需求;在对XML文档的查询中,全文检索查询能够帮助用户根据文本内容对文档中的数据进行访问,而全文检索的性能则主要依赖于XML文档在数据库中的存储方式以及索引的结构;
由于当前应用依然以关系数据库管理系统为主要的数据管理软件,并且XML数据经常伴随着关系数据而存在,因此在关系数据库中扩展对XML文档数据的管理功能成为数据库系统处理XML数据的主要实现手段;关系数据库存储XML文档数据的形式主要有以下几种方法:将XML数据分解成多个关系表进行存储,将XML数据作为一个大文本文件进行存储,将XML文档数据按照标签出现的顺序存入二维关系表;
以上第一种存储方法属于较早的XML文档数据管理方法,受关系数据库限制,在执行复杂查询时将产生大量的关系连接操作,数据冗余和执行代价都较大;第二种存储方式虽然保留了文档结构,但原始的文本数据没有进行任何预处理,依然需要在查询的执行过程中进行解析,因此仅起到了存储作用;第三种存储方法不但保留了XML文档数据原有的结构,又可以利用关系数据库现有成熟技术进行处理;
然而,无论采用何种存储方式处理XML文档的关系数据库,对于XML文档的全文检索查询都缺少充分的索引结构支持,以提高全文检索查询的执行效率。
发明内容
为解决现有技术的不足之处,本发明提供一种支持可扩展标记语言文档全文检索查询的索引结构。
本发明的技术方案是这样实现的:支持可扩展标记语言全文检索查询的索引方法,该索引方法的使用流程如图1所示,包括以下步骤:
步骤1:采用基于标签序列的二维关系表方式存储XML文档数据;
首先对纯文本格式的XML文档数据进行基于关系表方式的存储,这个关系表称为XML数据表;在XML文档中每个元素、属性和值文本都分为开标节点和闭节点,并且都被解析为对应关系中的一个记录,关系的模式中包括文档编号、节点名称、杜威编码、节点类型和节点值;节点名称为XML文档中元素的标签或属性名,节点类型供分为六种,分别为元素开节点、元素闭节点、属性开节点、属性闭节点、文本开节点和文本闭节点,节点值主要存储文本节点的值文本数据;
在存储XML文档数据的同时,对XML文档中元素的标签和属性名创建文本编号,即使用一个唯一的整型数值来表示一个元素的标签或属性名文本,这些映射信息保存在标签映射表中,表中包括标签编号和标签文本两个字段;
以此种结构存储的文档数据不但可以利用关系数据库的现有技术,还保持了文档的原始结构;
步骤2:构建文档结构基本信息表;
基于以关系形式存储的XML文档内容,进一步解析出节点结构信息并创建包含文档中节点结构的基本信息表;节点结构的基本信息表的结构包括的属性有:
文档编号(表示为DocID),XML文档在系统或表中的唯一标识编号,数据类型为整型;
节点的杜威编码(即Dewey编码,表示为DeweyCode),由从文档根节点开始到达当前节点所经过的节点在其兄弟节点中的次序所组成的编码,数据类型为整型数组;
节点标签编号(表示为TagID),节点标签文本在系统中的唯一标识编号,数据类型为整型,具体对应关系在系统运行时生成;
节点类型(表示为NodeType),节点类型包括元素节点(用“1”表示)和属性节点(用“2”表示),数据类型位整型;
节点路径(表示为Path),为从根节点到当前节点所经过的所有节点所构成的路径,其中每个节点的标签用标签编号进行表示,因此数据类型为整型数组;
节点深度(表示为Depth),从根节点到当前节点所经过节点的数量,数据类型为整型;
节点文本(表示为Value),当前节点下所直接包含的文本内容,数据类型为文本型;
节点文本类型(表示为ValueType),主要在XML有详细的模式定义时用来标识节点文本的数据类型,分为整型、浮点和文本类型;
节点物理地址(表示为NodeAddr),记录节点在XML数据表中的物理地址,这个地址是用两个整型进行表示的,第一个整型值表示XML数据表中节点记录所在的块号,第二个整型值表示XML数据表中节点记录在块中的偏移量,因此数据类型为整型数组;物理地址表示为:块号,偏移量;
由XML文档存储结构节点记录构建节点结构基本信息表记录的方法为:顺序从XML数据表中读取记录,对于读取的记录中节点类型,如果为元素开节点,则生成该节点的杜威编码和节点路径,并将该节点相关信息放入堆栈;如果为属性开节点,使用其所在元素节点的杜威编码作为其;自身杜威编码,并将该节点相关信息放入堆栈;如果为文本开节点,则创建一个基本信息表记录(标识为R),从堆栈中读取其父节点,将父节点的文档编号、杜威编码、节点路径和节点物理地址放入记录R中,记录R中节点编号由父节点的标签生成,记录R的节点类型由父节点的节点类型决定,节点深度使用杜威编码计算获得,节点文本为当前访问的文本开节点的节点值,节点文本类型根据节点路径与XML文档模式匹配后的数据类型决定,如果没有XML文档模式则默认为文本类型;如果为元素闭节点、属性闭节点或文本闭节点,则从堆栈中取出栈顶记录;
步骤3:在文档结构基本信息表的节点文本列上创建基于单词的倒排索引;
创建倒排索引的方法为:对于文档结构基本信息表的每个记录,抽取其节点文本上的文本内容(表示为T),进行分词操作后,可获得单词和对应位置信息列表(表示为W={(w1,p1), (w2,p2), …, (wn,pn)},其中wi表示一个单词,pi表示单词wi在整个文本中出现的位置,i=1,…,n);将每个单词作为索引的键值,将该记录的地址作为记录指针插入到倒排索引中;
倒排索引的结构由双层B+树结构所构成,第一层为由XML文档文本节点中出现过的单词按照字典序进行比较所构建出来的B+树,叶子节点中的每一项为一个单词,第二层为由每个单词所在文档结构基本信息表记录集合所构建出来的链表或B+树,其中每个索引项由记录中的杜威编码和单词在记录中的位置信息构成;在第二层索引中,当包含单词的记录数量小于一个存储块所能容纳的数量时使用链表,否则使用B+树;
在第二层索引中为了节省存储空间,将一个单词在一个文本节点中多次出现的情况合并到同一个索引项中,因此,第二层索引的索引项的结构包括节点所在的文档编号、节点记录的杜威编码、单词在该节点中出现的次数、标示每次单词出现位置的数组和文档结构基本信息表记录的物理地址,物理地址表示为:块号,偏移量;
步骤4:进行基于索引的全文检索查询
XML文档数据的全文检索操作的功能是判断特定路径下的节点下所包含的文本内容是否包含指定的单词或短语;基于索引执行全文检索查询的步骤如下:
步骤4-1:对全文检索查询条件进行分词和路径转换;
对XML文档数据全文检索的查询条件主要由路径信息、单词和短语所构成,在这一步中将全文检索查询中所有单词和短语进行分词,拆分成独立的单词队列,表示为QW=(qw1,qp1), (qw2, qp2), …, (qwm,qpm),其中qwi表示查询中的一个单词,qpi表示单词qwi在查询中的位置信息,i=1,…,m;位置信息qpi使用两个整型数值进行表示,第一个整型表示单词qwi所在单词或短语在查询中出现的次序,第二个整型表示单词qwi在所属单词或短语中出现的位置;
对于查询条件中的路径信息,将路径中的每一个步的标签文本转换为文本所对应的节点标签编号,从而得到一个由节点标签编号所表示的查询路径;
步骤4-2:通过基于单词的倒排索引查询获得包含全文检索单词的节点列表;
对于单词队列QW中的每一个单词qwi,i=1,…,m,使用单词作为查找键从倒排索引的第一层执行在B+树上的查询,得到包含单词qwi的所有节点所构成的B+树的根地址;从这个根地址,查询指定XML文档包含单词qwi的节点列表,表示为NLi,i=1,…,m;
步骤4-3:根据节点路径过滤单词节点列表中的节点;
对于单词qwi的节点列表中的每一项,使用其中文档结构基本信息表记录的物理地址访问文档结构基本信息表对应的记录,读取记录中节点路径;将查询路径与单词所在记录的节点路径进行比较,如果记录的节点路径包含查询路径,则在节点列表中保留该节点,否则从节点列表中删除该节点;
步骤4-4:组合节点列表中的节点;
对于每个单词过滤后的索引节点列表,按照其中物理地址获得其所指向的文档结构基本信息表对应的记录,根据查询路径以及记录中的杜威编码和节点路径进行匹配,将处于同一个符合查询路径的节点下的单词节点划分到同一个分组中;划分方法为如果当前节点路径符合查询路径,则从该节点的杜威编码中提取于查询路径相匹配部分,作为分组标志,如果已存在分组,则将该节点放入分组中,否则创建新的节点分组;
假设查询路径为: 标签1/标签2/……/标签m;
记录中的节点路径为:标签1’/标签2’/……/标签n’;
记录中的杜威编码为:位置1/位置2/……/位置n;
其中,m为查询路径上节点数量,n为记录对应节点到根节点经过的节点数量;如果节点路径符合查询路径,则有n>m,标签i=标签i’,i=1,…,m;则分组的杜威编码为位置1/位置2/……/位置m;
步骤4-5:查找符合检索条件的节点地址;
在每个分组内检查单词的匹配条件是否符合全文检索的查询条件;对于全文检索中的短语,首先检查分组中是否包含全部单词,再检查这些单词出现的顺序是否与短语中单词出现的顺序一致;对于全文检索中的单词,只须检验分组中是否存在;如果分组符合检索条件,则使用分组的杜威编码在XML数据表中找到对应记录,并返回该记录的地址;
步骤4-6:返回符合检索条件的文档片段;
在XML数据表中,从节点的地址开始,如果读取的是元素和属性的开标签,则输出节点名称作为标签文本,如果是文本的开标签则输出节点值,如果是元素的闭标签则使用节点名称输出一个“</节点名称>”文本,如果是属性闭标签和文本闭标签则不处理,这一操作知道遇到和起始节点具有相同杜威编码的节点为止;
本发明优点: 本发明的面向关系数据库中支持可扩展标记语言文档全文检索查询的索引方法能够有效提高对可扩展标记语言文档的管理效率:(1)本发明能够提高对可扩展标记语言文档进行全文检索操作时的执行效率,减少查询执行时间;(2)本发明具有较高的通用性,通过使用关系模式对XML文档数据和索引数据进行存储,能够与已有的关系数据库无缝融合;(3)本发明能够应用于对XML文档数据的关键字检索的查询中,提高查询的执行效率。
附图说明
图1为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法使用流程图;
图2为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法基于标签序列的XML数据表;
图3为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法标签映射表结构;
图4为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法文档结构基本信息表结构;
图5为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法倒排索引第一层;
图6为本发明关系数据库中支持可扩展标记语言文档全文检索查询的索引方法倒排索引第二层。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明:
本发明实施例的软硬件环境为:硬件需要1Ghz处理器,内存500M,软件需要微软的视窗操作系统系列(Windows XP,Windows 2003,Windows 2008,Windows 7)或LINUX操作系统(例如 RADHAT LINUX)。
实施例:有如下XML文档数据:
<商品>
<图书类>
<图书>
<书名>数据库系统实现</书名>
<作者>作者1,作者2</作者>
<出版社>机械工业出版社</出版社>
</图书>
<图书>
<书名>C语言程序设计</书名>
<作者>作者3</作者>
<出版社>清华大学出版社</出版社>
</图书>
</图书类>
</商品>
有对该XML文档数据的全文检索查询:查询在“/商品/图书类/图书”路径下包含单词“数据库”和短语“机械工业”的内容;
步骤1:将XML文档数据作为关系表的一个XML类型的属性列保存在关系数据库中,其中XML数据的存储形式为基于标签序列的XML数据表,具体结构如图2所示;其中XML文档被作为一个记录保存在一个关系表中,在这个关系表中仅存储文档的编号,XML文档的详细数据存储在XML数据表中,表中每个记录对应一个XML的元素、属性或文本的开或闭节点,文本节点的文本值保存在节点值这一属性列中;在XML数据表中,记录被顺序地放在四个块中,块编号为1至4,每个块可容纳8条记录;
在构建XML数据表的同时,生成标签映射表如图3所示,其中“商品”的标签编号为1,“图书类”的标签编号为2,“图书”的标签编号为3,“书名”的标签编号为4,“作者”的标签编号为5,“出版社”的标签编号为6;
步骤2:基于图2中XML数据表的内容构建对应的文档结构基本信息表;构建文档结构基本信息表时,根据节点类型为元素、属性和文本开标签的XML数据表记录创建文档结构基本信息表记录,文档结构基本信息表的内容如图4中所示;文档结构基本信息表的数据存放在编号为5和6的两个物理块中,每个块中存放8条记录;
步骤3:在文档结构基本信息表的节点文本列上创建基于单词的倒排索引;
首先抽取各包含文本的节点上的节点文本,并进行分词得到如下内容:
杜威编码1.1.1.1节点上的文本为“数据库系统实现”,分词后得到单词和位置信息序列(“数据库”,1),(“系统”,2),(“实现”,3);
杜威编码1.1.1.2节点上的文本为“作者1,作者2”,分词后得到单词和位置信息序列(“作者1”,1),(“作者2”,2);
杜威编码1.1.1.3节点上的文本为“机械工业出版社”,分词后得到单词和位置信息序列(“机械”,1),(“工业”,2),(“出版社”,3);
杜威编码1.1.2.1节点上的文本为“C语言程序设计”,分词后得到单词和位置信息序列(“C语言”,1),(“程序”,2),(“设计”,3);
杜威编码1.1.2.2节点上的文本为“作者3”,分词后得到单词和位置信息序列(“作者3”,1);
杜威编码1.1.2.3节点上的文本为“清华大学出版社”,分词后得到单词和位置信息序列(“清华”,1),(“大学”,2),(“出版社”,3);
由此可得到XML文档数据的文本内容中出现的单词为“C语言”,“程序”,“出版社”,“大学”,“工业”,“机械”,“清华”,“设计”,“实现”,“数据库”,“系统”,“作者1”,“作者2”,“作者3”,使用以上单词构建B+树,结构如图5中所示,B+树由两层构成;
根据单词在节点中的分布信息创建倒排索引第二层,如图6所示,在第二层索引中,由于记录数量较少,因此在本例中都采用链表形式存储包含单词的节点信息;
步骤4:进行基于索引的全文检索查询;
针对全文检索查询: 查询在“/商品/图书类/图书”路径下包含单词“数据库”和短语“机械工业”的内容,按照如下步骤执行:
步骤4-1:对全文检索查询条件进行分词和路径转换;
全文检索查询条件中包括单词“数据库”和短语“机械工业”,分词后得到的单词队列QW为(“数据库”,(1,1)), (“机械”, (1,1)), (“工业”,(1,2))),其中(1,1)表示单词在该查询中出现1次,在短语中的位置为1;
对于查询条件中的路径信息“/商品/图书类/图书”,将路径中的每一个标签文本根据图2中映射关系转换为节点标签编号,得到的由节点标签编号所表示的查询路径为“/1/2/3”;
步骤4-2:通过基于单词的倒排索引查询获得包含全文检索单词的节点列表;
对单词队列QW中的每一个单词执行从倒排索引的第一层B+树上的查询,分别得到包含单词“数据库”、“机械”和“工业”节点列表的第二层索引;第二层索引可以得到指定XML文档包含以上单词的节点列表,分别为:
单词“数据库”的节点列表数据为(1,1.1.1.1,1,1,(5,4));
单词“机械”的节点列表数据为(1,1.1.1.3,1,1,(5,6));
单词“工业”的节点列表数据为(1,1.1.1.3,1,2,(5,6));
步骤4-3:根据节点路径过滤单词节点列表中的节点;
对于单词“数据库”的节点列表中第一项,根据物理地址(5,4)读取记录,其中5表示物理块号为5,4表示记录在块内的偏移量,记录中节点路径得到“/1/2/3/4”;
对于单词“机械”的节点列表中第一项,根据物理地址(5,6)读取记录,其中5表示物理块号为5,6表示记录在块内的偏移量,记录中节点路径得到“/1/2/3/6”;
对于单词“工业”的节点列表中第一项,根据物理地址(5,6)读取记录,其中5表示物理块号为5,6表示记录在块内的偏移量,记录中节点路径得到“/1/2/3/6”;
由于路径“/1/2/3/4”和“/1/2/3/6”中包含查询路径“/1/2/3”,因此保留以上索引项中的节点;
步骤4-4:组合节点列表中的节点;
对于单词“数据库”、“机械”和“工业”过滤后的索引节点列表,访问文档结构基本信息表对应的记录,记录中的杜威编码和节点路径分别为:
包含单词“数据库”的节点的杜威编码为1.1.1.1,节点路径“/1/2/3/4”;
包含单词“机械”的节点的杜威编码为1.1.1.3,节点路径“/1/2/3/6”;
包含单词“工业”的节点的杜威编码为1.1.1.3,节点路径“/1/2/3/6”;
由于查询路径为“/1/2/3”,因此仅取杜威编码的前三位,以此来判断这些节点是否属于同一个分组;以上三个节点杜威编码取前三位后的值都是“1.1.1”,因此属于同一个分组中;
在这个分组中,具有包含单词“数据库”的杜威编码为1.1.1.1的节点,包含单词“机械”的杜威编码为1.1.1.3的节点,包含单词“工业”的杜威编码为1.1.1.3的节点;
步骤4-5:返回符合检索条件的节点地址;
检查分组内单词的匹配条件是否符合全文检索的查询条件;在全文检索的查询条件中,第一点,要求包含单词“数据库”、“机械”和“工业”,该分组中包含的单词符合条件;第二点,要求“机械”和“工业”这两个单词按照先后的顺序构成短语,在索引的结构中我们可以得到“机械”和“工业”这两个单词在文档中的位置信息,由于这两个单词所在节点的杜威编码相同,都是1.1.1.3,因此可知这两个单词属于同一个节点的文本中;倒排索引第二层索引项中的第三位和第四位值分别表示单词在该节点中出现的次数和位置,从图5中可知,单词“机械”在节点1.1.1.3出现了1次,位置为1,而单词“工业”在节点1.1.1.3出现了1次,位置为2,由于两个单词位置同样相差1,因此可以断定两个单词在节点1.1.1.3中以短语形式出现,符合全文检索的查询条件;因此,使用分组的杜威编码“1.1.1”在XML数据表中找到对应记录,该记录的物理位置为1号块,偏移量为3;
步骤4-6:返回符合检索条件的文档片段;
从记录的物理地址为1号块,偏移量为3,从这一地址开始在XML数据表中顺序访问记录并输出文本,直到物理地址为2号块,偏移量为8的记录位置,得到的XML文档片段为:
<图书>
<书名>数据库系统实现</书名>
<作者>作者1,作者2</作者>
<出版社>机械工业出版社</出版社>
</图书>
以上为查询的结果输出的一种形式,如果全文检索作为复杂XML查询中的一部分,则可以直接返回符合查询条件的节点的地址或杜威编码,以便进一步执行其它的查询操作。
Claims (4)
1.一种关系数据库中可扩展标记语言文档全文检索查询索引方法,其特征在于包括以下步骤:
步骤1:采用基于标签序列的二维关系表方式存储XML文档数据;
首先对纯文本格式的XML文档数据进行基于关系表方式的存储,关系的模式中包括文档编号、节点名称、杜威编码、节点类型和节点值;节点名称为XML文档中元素的标签或属性名,节点类型供分为六种,分别为元素开节点、元素闭节点、属性开节点、属性闭节点、文本开节点和文本闭节点,节点值主要存储文本节点的值文本数据;
在存储XML文档数据的同时,对XML文档中元素的标签和属性名创建文本编号,即使用一个唯一的整型数值来表示一个元素的标签或属性名文本,这些映射信息保存在标签映射表中,表中包括标签编号和标签文本两个字段;
步骤2:构建文档结构基本信息表;
基于以关系形式存储的XML文档内容,进一步解析出节点结构信息并创建包含文档中节点结构的基本信息表;节点结构的基本信息表的结构包括的属性有:
文档编号,节点的杜威编码,节点标签编号,节点类型,节点路径,节点深度,节点文本,节点文本类型,节点物理地址;
步骤3:在文档结构基本信息表的节点文本列上创建基于单词的倒排索引;
对于文档结构基本信息表的每个记录,抽取其节点文本上的文本内容,表示为T,进行分词操作后,可获得单词和对应位置信息列表,表示为W={(w1,p1), (w2,p2), …, (wn,pn)},其中wi表示一个单词,pi表示单词wi在整个文本中出现的位置,i=1,…,n;将每个单词作为索引的键值,将该记录的地址作为记录指针插入到倒排索引中;
步骤4:进行基于索引的全文检索查询。
2.如权利要求1所述的关系数据库中可扩展标记语言文档全文检索查询索引方法,其特征在于步骤2中由XML文档存储结构节点记录构建节点结构基本信息表记录的方法为:顺序从XML数据表中读取记录,对于读取的记录中节点类型,如果为元素开节点,则生成该节点的杜威编码和节点路径,并将该节点相关信息放入堆栈;如果为属性开节点,使用其所在元素节点的杜威编码作为其;自身杜威编码,并将该节点相关信息放入堆栈;如果为文本开节点,则创建一个基本信息表记录(标识为R),从堆栈中读取其父节点,将父节点的文档编号、杜威编码、节点路径和节点物理地址放入记录R中,记录R中节点编号由父节点的标签生成,记录R的节点类型由父节点的节点类型决定,节点深度使用杜威编码计算获得,节点文本为当前访问的文本开节点的节点值,节点文本类型根据节点路径与XML文档模式匹配后的数据类型决定,如果没有XML文档模式则默认为文本类型;如果为元素闭节点、属性闭节点或文本闭节点,则从堆栈中取出栈顶记录。
3.如权利要求1所述的关系数据库中可扩展标记语言文档全文检索查询索引方法,其特征在于倒排索引的结构由双层B+树结构所构成,第一层为由XML文档文本节点中出现过的单词按照字典序进行比较所构建出来的B+树,叶子节点中的每一项为一个单词,第二层为由每个单词所在文档结构基本信息表记录集合所构建出来的链表或B+树,其中每个索引项由记录中的杜威编码和单词在记录中的位置信息构成;在第二层索引中,当包含单词的记录数量小于一个存储块所能容纳的数量时使用链表,否则使用B+树。
4.如权利要求1所述的关系数据库中可扩展标记语言文档全文检索查询索引方法,其特征在于基于索引的全文检索查询按以下步骤进行:
步骤4-1:对全文检索查询条件进行分词和路径转换;
步骤4-2:通过基于单词的倒排索引查询获得包含全文检索单词的节点列表;
步骤4-3:根据节点路径过滤单词节点列表中的节点;
步骤4-4:组合节点列表中的节点;
步骤4-5:查找符合检索条件的节点地址;
步骤4-6:返回符合检索条件的文档片段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010605202A CN102033954B (zh) | 2010-12-24 | 2010-12-24 | 关系数据库中可扩展标记语言文档全文检索查询索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010605202A CN102033954B (zh) | 2010-12-24 | 2010-12-24 | 关系数据库中可扩展标记语言文档全文检索查询索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033954A true CN102033954A (zh) | 2011-04-27 |
CN102033954B CN102033954B (zh) | 2012-10-17 |
Family
ID=43886847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010605202A Expired - Fee Related CN102033954B (zh) | 2010-12-24 | 2010-12-24 | 关系数据库中可扩展标记语言文档全文检索查询索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033954B (zh) |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567482A (zh) * | 2011-12-20 | 2012-07-11 | 东软集团股份有限公司 | 面向客户的xml解析方法和装置 |
CN102760166A (zh) * | 2012-06-12 | 2012-10-31 | 上海方正数字出版技术有限公司 | 一种支持多语言的xml数据库全文检索方法 |
CN102799685A (zh) * | 2012-07-27 | 2012-11-28 | 上海方正数字出版技术有限公司 | 一种xml数据库全文检索的文本相关度计算方法和系统 |
CN103064859A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 基于可变内存预申请及hash的快速xml解析方法 |
CN103150404A (zh) * | 2013-03-28 | 2013-06-12 | 北京大学 | 一种关系-xml混合数据关键字查询方法 |
CN103533089A (zh) * | 2013-11-04 | 2014-01-22 | 北京视像元素技术有限公司 | 基于时空标签的信息发现、分享方法和系统 |
CN103620586A (zh) * | 2011-06-23 | 2014-03-05 | 微软公司 | 将源代码链接到运行元素 |
CN103853773A (zh) * | 2012-12-04 | 2014-06-11 | 厦门亿联网络技术股份有限公司 | 一种Mysql数据库下树形数据结构的检索方法 |
CN104021213A (zh) * | 2014-06-20 | 2014-09-03 | 中国银行股份有限公司 | 一种合并关联记录的方法及装置 |
CN104331397A (zh) * | 2014-06-19 | 2015-02-04 | 深圳市迪威泰实业有限公司 | 一种机器翻译方法及系统 |
CN104346331A (zh) * | 2013-07-23 | 2015-02-11 | 北大方正集团有限公司 | Xml数据库的检索方法及系统 |
CN104391945A (zh) * | 2014-11-28 | 2015-03-04 | 厦门市美亚柏科信息股份有限公司 | 数据库文件数据索引的处理方法和装置 |
CN104636384A (zh) * | 2013-11-13 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种处理文档的方法及装置 |
CN104715068A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种生成文档索引的方法和装置以及一种搜索方法和装置 |
CN105022743A (zh) * | 2014-04-24 | 2015-11-04 | 中兴通讯股份有限公司 | 一种管理索引的方法及装置 |
CN105103167A (zh) * | 2013-04-05 | 2015-11-25 | 罗伯特·博世有限公司 | 信息系统和用于选择和再现信息的方法、尤其用于在车间范围内使用 |
CN105488087A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 基于Postgresql的大字段特值索引系统与方法 |
CN106599062A (zh) * | 2016-11-18 | 2017-04-26 | 北京奇虎科技有限公司 | 一种SparkSQL系统中的数据处理方法和装置 |
CN106940715A (zh) * | 2017-03-09 | 2017-07-11 | 星环信息科技(上海)有限公司 | 一种基于索引表的查询的方法及设备 |
CN107203549A (zh) * | 2016-03-17 | 2017-09-26 | 北大方正集团有限公司 | 基于xml数据格式的单词内容检索方法和装置 |
CN108256086A (zh) * | 2018-01-22 | 2018-07-06 | 成都博睿德科技有限公司 | 数据特征统计分析方法 |
CN108572978A (zh) * | 2017-03-10 | 2018-09-25 | 深圳瀚德创客金融投资有限公司 | 构建用于区块链的倒排索引结构的方法和计算机系统 |
CN108681603A (zh) * | 2018-05-22 | 2018-10-19 | 福建天泉教育科技有限公司 | 数据库中快速搜索树形结构数据的方法、存储介质 |
CN109684464A (zh) * | 2018-12-30 | 2019-04-26 | 广西财经学院 | 通过权值比较实现规则后件挖掘的跨语言查询扩展方法 |
CN110471888A (zh) * | 2018-05-09 | 2019-11-19 | 株式会社日立制作所 | 一种自动收集数据的方法、装置、介质、设备及系统 |
US10534830B2 (en) | 2011-06-23 | 2020-01-14 | Microsoft Technology Licensing, Llc | Dynamically updating a running page |
CN110727726A (zh) * | 2019-09-30 | 2020-01-24 | 武汉达梦数据库有限公司 | 一种文档型数据库中数据抽取到关系数据库的方法和系统 |
CN111190904A (zh) * | 2019-12-30 | 2020-05-22 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN111353762A (zh) * | 2020-03-30 | 2020-06-30 | 中国建设银行股份有限公司 | 一种规章制度管理方法及系统 |
CN111797425A (zh) * | 2019-04-02 | 2020-10-20 | Sap欧洲公司 | 利用字典编码的安全数据库 |
US10977284B2 (en) * | 2016-01-29 | 2021-04-13 | Micro Focus Llc | Text search of database with one-pass indexing including filtering |
CN112835899A (zh) * | 2021-01-29 | 2021-05-25 | 上海寻梦信息技术有限公司 | 地址库索引方法、地址匹配方法以及相关设备 |
CN112883249A (zh) * | 2021-03-26 | 2021-06-01 | 瀚高基础软件股份有限公司 | 版式文档处理方法、装置以及装置的应用方法 |
CN115203490A (zh) * | 2022-09-16 | 2022-10-18 | 国网智能电网研究院有限公司 | 图数据库中List列表容器数据类型的查询方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294432A (zh) * | 2015-05-26 | 2017-01-04 | 中国移动通信集团公司 | 一种信息处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457003A (zh) * | 2002-05-08 | 2003-11-19 | 三星电子株式会社 | 处理正则路径表达式查询的扩展标记语言索引方法 |
US20050055343A1 (en) * | 2003-09-04 | 2005-03-10 | Krishnamurthy Sanjay M. | Storing XML documents efficiently in an RDBMS |
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
US20090019077A1 (en) * | 2007-07-13 | 2009-01-15 | Oracle International Corporation | Accelerating value-based lookup of XML document in XQuery |
CN101719156A (zh) * | 2009-12-30 | 2010-06-02 | 南开大学 | 一种在关系型数据库中无缝集成纯xml查询引擎的系统 |
-
2010
- 2010-12-24 CN CN201010605202A patent/CN102033954B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1457003A (zh) * | 2002-05-08 | 2003-11-19 | 三星电子株式会社 | 处理正则路径表达式查询的扩展标记语言索引方法 |
US20050055343A1 (en) * | 2003-09-04 | 2005-03-10 | Krishnamurthy Sanjay M. | Storing XML documents efficiently in an RDBMS |
CN1987853A (zh) * | 2005-12-23 | 2007-06-27 | 北大方正集团有限公司 | 关系型数据库与全文检索相结合的检索方法 |
US20090019077A1 (en) * | 2007-07-13 | 2009-01-15 | Oracle International Corporation | Accelerating value-based lookup of XML document in XQuery |
CN101719156A (zh) * | 2009-12-30 | 2010-06-02 | 南开大学 | 一种在关系型数据库中无缝集成纯xml查询引擎的系统 |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534830B2 (en) | 2011-06-23 | 2020-01-14 | Microsoft Technology Licensing, Llc | Dynamically updating a running page |
CN103620586B (zh) * | 2011-06-23 | 2017-03-08 | 微软技术许可有限责任公司 | 将源代码链接到运行元素 |
CN103620586A (zh) * | 2011-06-23 | 2014-03-05 | 微软公司 | 将源代码链接到运行元素 |
US10540416B2 (en) | 2011-06-23 | 2020-01-21 | Microsoft Technology Licensing, Llc | Linking source code to running element |
CN103064859A (zh) * | 2011-10-21 | 2013-04-24 | 上海湾流仪器技术有限公司 | 基于可变内存预申请及hash的快速xml解析方法 |
CN102567482B (zh) * | 2011-12-20 | 2014-05-21 | 东软集团股份有限公司 | 面向客户的xml解析方法和装置 |
CN102567482A (zh) * | 2011-12-20 | 2012-07-11 | 东软集团股份有限公司 | 面向客户的xml解析方法和装置 |
CN102760166A (zh) * | 2012-06-12 | 2012-10-31 | 上海方正数字出版技术有限公司 | 一种支持多语言的xml数据库全文检索方法 |
CN102760166B (zh) * | 2012-06-12 | 2014-07-09 | 北大方正集团有限公司 | 一种支持多语言的xml数据库全文检索方法 |
CN102799685A (zh) * | 2012-07-27 | 2012-11-28 | 上海方正数字出版技术有限公司 | 一种xml数据库全文检索的文本相关度计算方法和系统 |
CN102799685B (zh) * | 2012-07-27 | 2016-06-01 | 北大方正集团有限公司 | 一种xml数据库全文检索的文本相关度计算方法和系统 |
CN103853773A (zh) * | 2012-12-04 | 2014-06-11 | 厦门亿联网络技术股份有限公司 | 一种Mysql数据库下树形数据结构的检索方法 |
CN103150404A (zh) * | 2013-03-28 | 2013-06-12 | 北京大学 | 一种关系-xml混合数据关键字查询方法 |
CN103150404B (zh) * | 2013-03-28 | 2016-06-15 | 北京大学 | 一种关系-xml混合数据关键字查询方法 |
CN105103167A (zh) * | 2013-04-05 | 2015-11-25 | 罗伯特·博世有限公司 | 信息系统和用于选择和再现信息的方法、尤其用于在车间范围内使用 |
CN104346331A (zh) * | 2013-07-23 | 2015-02-11 | 北大方正集团有限公司 | Xml数据库的检索方法及系统 |
CN103533089A (zh) * | 2013-11-04 | 2014-01-22 | 北京视像元素技术有限公司 | 基于时空标签的信息发现、分享方法和系统 |
CN104636384B (zh) * | 2013-11-13 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 一种处理文档的方法及装置 |
CN104636384A (zh) * | 2013-11-13 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 一种处理文档的方法及装置 |
CN105022743A (zh) * | 2014-04-24 | 2015-11-04 | 中兴通讯股份有限公司 | 一种管理索引的方法及装置 |
CN104331397A (zh) * | 2014-06-19 | 2015-02-04 | 深圳市迪威泰实业有限公司 | 一种机器翻译方法及系统 |
CN104331397B (zh) * | 2014-06-19 | 2017-07-07 | 深圳市迪威泰实业有限公司 | 一种机器翻译方法及系统 |
CN104021213A (zh) * | 2014-06-20 | 2014-09-03 | 中国银行股份有限公司 | 一种合并关联记录的方法及装置 |
CN104021213B (zh) * | 2014-06-20 | 2017-06-16 | 中国银行股份有限公司 | 一种合并关联记录的方法及装置 |
CN104391945B (zh) * | 2014-11-28 | 2018-04-10 | 厦门市美亚柏科信息股份有限公司 | 数据库文件数据索引的处理方法和装置 |
CN104391945A (zh) * | 2014-11-28 | 2015-03-04 | 厦门市美亚柏科信息股份有限公司 | 数据库文件数据索引的处理方法和装置 |
CN105488087A (zh) * | 2014-12-31 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 基于Postgresql的大字段特值索引系统与方法 |
CN104715068A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇虎科技有限公司 | 一种生成文档索引的方法和装置以及一种搜索方法和装置 |
US10977284B2 (en) * | 2016-01-29 | 2021-04-13 | Micro Focus Llc | Text search of database with one-pass indexing including filtering |
CN107203549A (zh) * | 2016-03-17 | 2017-09-26 | 北大方正集团有限公司 | 基于xml数据格式的单词内容检索方法和装置 |
CN106599062A (zh) * | 2016-11-18 | 2017-04-26 | 北京奇虎科技有限公司 | 一种SparkSQL系统中的数据处理方法和装置 |
CN106940715A (zh) * | 2017-03-09 | 2017-07-11 | 星环信息科技(上海)有限公司 | 一种基于索引表的查询的方法及设备 |
CN106940715B (zh) * | 2017-03-09 | 2019-11-15 | 星环信息科技(上海)有限公司 | 一种基于索引表的查询的方法及设备 |
CN108572978A (zh) * | 2017-03-10 | 2018-09-25 | 深圳瀚德创客金融投资有限公司 | 构建用于区块链的倒排索引结构的方法和计算机系统 |
CN108256086A (zh) * | 2018-01-22 | 2018-07-06 | 成都博睿德科技有限公司 | 数据特征统计分析方法 |
CN110471888A (zh) * | 2018-05-09 | 2019-11-19 | 株式会社日立制作所 | 一种自动收集数据的方法、装置、介质、设备及系统 |
CN108681603A (zh) * | 2018-05-22 | 2018-10-19 | 福建天泉教育科技有限公司 | 数据库中快速搜索树形结构数据的方法、存储介质 |
CN108681603B (zh) * | 2018-05-22 | 2022-04-01 | 福建天泉教育科技有限公司 | 数据库中快速搜索树形结构数据的方法、存储介质 |
CN109684464A (zh) * | 2018-12-30 | 2019-04-26 | 广西财经学院 | 通过权值比较实现规则后件挖掘的跨语言查询扩展方法 |
CN111797425A (zh) * | 2019-04-02 | 2020-10-20 | Sap欧洲公司 | 利用字典编码的安全数据库 |
CN111797425B (zh) * | 2019-04-02 | 2024-04-19 | Sap欧洲公司 | 利用字典编码的安全数据库 |
CN110727726A (zh) * | 2019-09-30 | 2020-01-24 | 武汉达梦数据库有限公司 | 一种文档型数据库中数据抽取到关系数据库的方法和系统 |
CN110727726B (zh) * | 2019-09-30 | 2022-09-30 | 武汉达梦数据库股份有限公司 | 一种文档型数据库中数据抽取到关系数据库的方法和系统 |
CN111190904B (zh) * | 2019-12-30 | 2023-12-08 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN111190904A (zh) * | 2019-12-30 | 2020-05-22 | 四川蜀天梦图数据科技有限公司 | 一种图-关系数据库混合存储的方法和装置 |
CN111353762A (zh) * | 2020-03-30 | 2020-06-30 | 中国建设银行股份有限公司 | 一种规章制度管理方法及系统 |
CN112835899A (zh) * | 2021-01-29 | 2021-05-25 | 上海寻梦信息技术有限公司 | 地址库索引方法、地址匹配方法以及相关设备 |
CN112883249A (zh) * | 2021-03-26 | 2021-06-01 | 瀚高基础软件股份有限公司 | 版式文档处理方法、装置以及装置的应用方法 |
CN112883249B (zh) * | 2021-03-26 | 2022-10-14 | 瀚高基础软件股份有限公司 | 版式文档处理方法、装置以及装置的应用方法 |
CN115203490B (zh) * | 2022-09-16 | 2022-12-06 | 国网智能电网研究院有限公司 | 图数据库中List列表容器数据类型的查询方法及装置 |
CN115203490A (zh) * | 2022-09-16 | 2022-10-18 | 国网智能电网研究院有限公司 | 图数据库中List列表容器数据类型的查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102033954B (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033954B (zh) | 关系数据库中可扩展标记语言文档全文检索查询索引方法 | |
Faye et al. | A survey of RDF storage approaches | |
Jiang et al. | Path Materialization Revisited: An Efficient Storage Model for XML Data. | |
Cooper et al. | A fast index for semistructured data | |
US20120047186A1 (en) | Encoding Semi-Structured Data for Efficient Search and Browsing | |
CN103123650B (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN102456053B (zh) | 一种xml文档到数据库的映射方法 | |
CN102982103A (zh) | 一种olap海量多维数据维存储方法 | |
CN103150404B (zh) | 一种关系-xml混合数据关键字查询方法 | |
Hachicha et al. | A survey of XML tree patterns | |
CN101661481A (zh) | 存储xml数据的方法、执行xml查询的方法及其装置 | |
CN102314647A (zh) | 一种利用xbrl进行的企业数据存储的方法 | |
CN106484815B (zh) | 一种基于海量数据类sql检索场景的自动识别优化方法 | |
CN101639840A (zh) | 网络信息语义结构识别方法和装置 | |
CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
Alghamdi et al. | Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories | |
Tudhope et al. | Semantic interoperability issues from a case study in archaeology | |
El-Sayed et al. | Efficiently supporting order in XML query processing | |
Haw et al. | Query optimization techniques for xml databases | |
CN103488639B (zh) | 一种xml数据的查询方法 | |
Raut et al. | A survey of indexing techniques for XML database | |
Bin-Thalab et al. | TMIX: Temporal model for indexing XML documents | |
Fakharaldien et al. | Mapping extensible markup language document with relational database management system | |
Huang et al. | Accelerating XML Query Processing on Views | |
Nassis et al. | A systematic design approach for XML-view driven web document warehouses |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121017 Termination date: 20121224 |