CN101833588A - 一种xml文档索引结构 - Google Patents
一种xml文档索引结构 Download PDFInfo
- Publication number
- CN101833588A CN101833588A CN 201010204388 CN201010204388A CN101833588A CN 101833588 A CN101833588 A CN 101833588A CN 201010204388 CN201010204388 CN 201010204388 CN 201010204388 A CN201010204388 A CN 201010204388A CN 101833588 A CN101833588 A CN 101833588A
- Authority
- CN
- China
- Prior art keywords
- index
- laf
- coding
- xml
- node
- 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)
Abstract
本发明公布了一种新的XML文档的索引结构,属于数据检索领域。对于XML文档中的节点,定义其LAF编码由三部分组成:节点的层次遍历序号、其父节点的层次遍历序号、该节点所在的深度。进而提出基于LAF编码的二级索引结构,在该索引结构中,XML文档的普通文本属性被存储在第一级索引中,而半结构属性被存储在第二级中,两级索引间通过指针关联起来。本发明提出这种二级索引技术,不仅能避免传统索引方法可能带来的冗余问题,同时也能支持较为高效的检索算法,减少检索算法对无效元素的处理。
Description
技术领域
本发明涉及一种XML文档二级索引结构,属于数据检索领域。
背景技术
自1998年诞生以来,XML文档现广泛应用于互联网,数据库等领域,已经成为互联网上数据交换和集成的语言标准。随着XML文档的大量涌现,如何快速的从大规模XML文档中寻找出满足用户需求的信息成为信息检索以及数据库领域的一个研究热点。
XML信息检索可分为两大类:关键词检索和“关键词+结构”检索。由W3C颁布的XML检索标准XPath和XQuery是“关键词+结构”检索的代表,“关键词+结构”检索在为用户准确表达其查询需求方面提供了有效的描述手段,从而能获得高质量的查询结果。但是“关键词+结构”检索要求用户掌握相关的查询语言,并且对XML文档的结构信息有所了解,从而限制了这种检索方式在实际中的应用范围。为了提供对XML数据库的查询支持,面向XML数据库的查询语言XQL也被应用在许多XML数据库中。无论是XPath和XQuery,还是XQL,都要求用户知道文档的内部结构并且需要熟悉这些查询语言的基本语法,这对于普通用户来说是不能接受的也是没有必要的。
关键词检索一种经过实践证明且取得巨大成功的检索方式,是在传统搜索引擎中被广泛采用的检索手段。在传统搜索引擎的影响下,普通互联网用户现在已经习惯于关键词检索方式,因为关键词检索简单易用,能迅速被普通用户所掌握。因此,XML关键词检索比“关键词+结构”检索更具有现实应用意义。XML关键词检索也因此成为了XML信息检索领域的研究重点。
XML关键词检索即用户以关键词作为表达查询的手段对XML文档(集)进行检索的模式。由于XML文档是包含层次结构信息的,而关键词检索只能模糊的表达用户的查询语义,如何通过关键词检索,充分利用XML文档内部的结构信息,来为用户提供精确的检索服务就是一件非常有现实意义且具有极大挑战性的事情。
目前,在XML关键词检索中一个比较的核心的问题是,如何有效保存XML文档中的层次结构信息到索引系统中,使索引系统具有较高的空间效率并且能支持高效的检索算法。一种常见的方法是对XML文档中的XML元素进行编码,并且建立从关键词到元素的倒排索引,Dewey编码是目前最流行且较为高效的一种XML元素编码方法,Dewey编码把XML文档看成一颗有序树,杜威编码的定义如下:
T为一个XML文档对应的有序树,且R为树T的根,对于树中任意节点N,其儿子节点分别为N1,N2...Nn,那么对T中节点进行杜威编码的方法为:
(1)R的杜威编码为0。
(2)对于节点N的子节点从左至右依次为N1,N2...Nn,若其父节点的杜威编码为M,则这n个子节点的杜威编码分别为M.0,M.1,M.2...M.n。(M.i,“.”是一个编码分隔符)。
(3)按照规则(1)(2)对T中节点递归编码,直至把所有节点编码完毕。
附图2是对附图1中的XML文档中元素进行编码后对应的有序树,在附图2中,<Proceedings>是树中的根节点,因此其Dewey编码为‘0’,<paper>节点是<Proceedings>的子节点,根据Dewey编码定义中的规则(2),左边<paper>节点的编号为‘0.0’,右边<paper>节点的编号则为‘0.1’。根据类似的规则,<institution>节点为<paper>(0.0)节点的第二个子节点,因此其编码为‘0.0.1’,<authors>节点为<paper>(0.1)节点的第二个子节点,因此其编码为‘0.1.1’。
Dewey编码是一种能有效保存XML文档内部结构的编码方法。它采取了局部编码策略,通过重复保存父节点的编码信息从而达到保存树的层次结构信息的目的。通过这种重复保存父节点编码的方式来保存XML文档的层次结构信息给Dewey编码带来了两个潜在的不足。
首先,Dewey编码可能导致索引空间的冗余。由于Dewey编码通过重复保存父节点的编码来实现对XML文档层次结构的保存,这种重复保存直接导致的一个事实是:节点Dewey编码的长度与节点在对应有序树中的深度成正比。例如,在附图2中,节点<institution>的深度为3,其Dewey编码‘0.0.1’的长度也为3,而“Yu Xu”所在节点的深度为6,其Dewey编码‘0.0.11.0.0’的长度也为6。这也说明了Dewey编码的空间效率会随着XML文档内元素平均深度的增加而下降。如果一个XML文档有N个元素(节点),节点的平均深度为L,那么Dewey编码的空间效率为O(NL)。
其次,Dewey编码可能导致关键词检索算法的效率低下。比较两个Dewey编码的大小操作的时间复杂度为O(N),N为Dewey编码的长度。而比较操作是很多XML关键词检索算法的原子操作(比如栈算法,Scan Eager等),对于大规模的XML文档集,这种O(N)级别的原子操作将严重影响检索算法的性能。
基于Dewey编码的倒排索引技术是目前XML检索中应用比较成熟,也是应用最广泛的一种索引技术。Dewey倒排索引是以杜威编码为基础的一种倒排索引技术,其主要数据结构为有序词典和杜威倒排表,有序词典用于存储XML文档出现的关键词,而对每一个关键词,都对应一个Dewey倒排表,用于存储该关键词所在元素的基本信息,比如元素的Dewey编码,元素的长度等。
附图3是Dewey倒排表的一个例子,图中左侧的列表为关键词词典,一共包括n个关键词,右侧为每个关键词对应的倒排表,倒排表中存储的信息包括关键词所在元素的Dewey编码,XML文档的URL地址,以及该元素的长度。
基于Dewey编码的倒排索引虽然是一种比较高效的索引结构,但是它容易带来的一个问题就是索引空间冗余。由于它是建立在XML元素的粒度上,在一篇文档中,包含某个关键词的元素有很多。对于一个关键词K,假定在文档D中有N个不同元素包含K,假定关键词对应的普通文本属性长为L1,关键词对应的半结构文本属性长为L2,那么存储关键词K的索引所需空间为(L1+L2)*N。事实上,关键词对应的普通文本属性,在这N条索引记录中都是一样的,因为这N个元素都属于同一个XML文档,也就是说,对于关键词的普通文本属性,重复存储了N-1次,使索引空间增加了L1*(N-1)的空间代价。
Dewey倒排索引还容易导致的一个问题是:使检索算法处理无效的元素。XML关键词检索的一个基本条件是,关键词所得结果包含用户所有的关键词,由于XML元素返回的是XML元素,也就是以XML元素为根的子树应该包含所有的关键词。在XML文档集中,当用户提交一个查询时,有很定文档只包含这个查询中的部分关键词,那么,这些文档里面的元素肯定也不会包含所有关键词,由于Dewey倒排索引建立在元素的粒度上,这些文档中的元素也都会被检索算法进行处理,而对这些元素的处理是没有意义的,因此Dewey倒排编码可能导致检索算法处理很多的无效元素。
发明内容
为解决基于Dewey编码索引空间效率不高以及可能导致检索算法时间效率低下的问题,本发明提出一种新的XML元素编码方式:LAF(Layer order And Father numbering)编码,LAF编码的长度与元素在XML树中的深度无关。在LAF编码的基础上,本发明提出了一种新的索引结构,即基于LAF编码的二级索引,二级索引充分考虑XML文档的二重属性(指XML文档既具备普通文本文档的属性,同时也具备半结构化文档的结构特性。普通文本属性指一股文档共有的属性,比如文本的地址,文本的长度,文本的类型等。半结构文档属性指半结构文档特有的属性,比如元素的Dewey编码,LAF编码,元素的长度等),将XML文档两种不同属性分别存储在不同级别的索引中,通过指针将这两级索引关联起来。
LAF编码是Level order And Father numbering的缩写。与Dewey编码不同的是,LAF编码基于一种全局的编码策略,即树的层次遍历(即宽度优先遍历)。层次遍历使XML树中每一个节点都有唯一的层次遍历序号。
LAF编码定义:对于一颗XML树中的节点,其LAF编码由三部分组成:节点的层次遍历序号;其父节点的层次遍历序号;该节点所在的深度。
由于根节点无父节点,其父节点的层次遍历序号设为-1。
与Dewey编码类似,LAF编码可以采用长为3的向量来存储,分别表示LAF编码的3个部分。为了方便阅读,将LAF编码表示成如下形式,LAF编码的3个部分用‘.’分隔开:
节点层次遍历序号.父节点层次遍历序号.节点的深度
本发明提出基于LAF编码的二级索引结构,这是一种新型的XML索引结构,如图5所示,在该索引结构中,XML文档的普通文本属性被存储在第一级索引中,而半结构属性被存储在第二级中,两级索引间通过指针关联起来。
二级索引除了关键词词典外,倒排索引由两部分组成,即存储普通文本属性的第一级索引和存储半结构属性的第二级索引。第一级索引存储的信息包括文档号,文档URL地址,XML元素的层次遍历序号列表等。第二级索引存储每个XML文档对应的LAF表。
LAF表指的是,一篇XML文档中所有的LAF编码按照层次遍历序号从小到大组成的有序编码集合。每一篇XML文档对应唯一的LAF编码表。
本发明提出的基于LAF编码的XML文档二级索引技术,不仅能避免传统索引方法可能带来的冗余问题,同时也能支持较为高效的检索算法,减少检索算法对无效元素的处理。
附图说明
图1是XML文档示例;
图2是Dewey编码示例;
图3是Dewey倒排索引;
图4是树的层次遍历示例;
图5是基于LAF编码二层索引结构;
图6是一个LAF编码示例;
图7是一个LAF表示例;
图8是一个二级索引示例;
具体实施方式
下面通过实例对本发明做进一步的说明,但是需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
图4给出了一个层次遍历树的例子,其层次遍历结果为A,B,C,D,E,F,G,H,I,J,他们对应的层次遍历序号依次为0,1,2,3,4,5,6,7,8,9。
图1中XML文档使用LAF编码的结果如附图6所示。对于根节点<Proceedings>,其层次遍历序号为0,其父节点的层次遍历序号为-1,其深度为1,因此其LAF编码为0.-1.1,而<institution>节点的层次遍历序号为4,其父节点<paper>的层次遍历序号为1,它的深度为3,因此,其LAF编码为4.1.3。同理可知其他各节点的LAF编码。
对于附图4中的XML树,其对应的LAF表如附图7所示。在该树中,一共有10个不同的节点,对应XML文档中10个不同的元素,每一个XML元素对应一个LAF编码,因此,在该LAF表中一共有10个不同的LAF编码。每一个LAF编码被存储成一个长度为3的一维向量。
附图8是二层索引的一个简单示例。假定附图1中XML文档的编号为1000,地址为http://xxx,从附图5可以得知,包含关键词Yu的不同元素的层次遍历序号为:16,19和21,而包含关键词Yannis的元素的不同元素的层次遍历序号为:12,20和22。因此,Yu对应的一层索引的层序编码列表为16,19和21,而Yannis对应的层序编码列表为12,20和22。层序编码列表中的层次遍历序号分别唯一对于应二层索引LAF表中的LAF编码。比如12对应的LAF编码为12.5.3,而21对应的LAF编码为21.17.5。
Claims (5)
1.一种XML元素的编码方式,该编码取名为LAF编码,其特征在于,所述的LAF编码由三部分组成:1)节点的层次遍历序号2)节点的父节点的层次遍历序号3)节点在XML文档树中的深度。
2.如权利要求1所述的编码方式,其特征在于,用长度为3的向量存储XML元素的LAF编码,格式为:节点层次遍历序号.父节点层次遍历序号.节点的深度。
3.一种XML文档的索引结构,该索引结构由关键词词典和倒排索引组成,其特征在于,所述倒排索引由两部分组成:第一级索引存储XML文档的普通文本属性,第二级索引存储每个XML文档对应的LAF表;所述的LAF表指的是一篇XML文档中所有的LAF编码按照层次遍历序号从小到大组成的有序编码集合。
4.如权利要求3所述的索引结构,其特征在于,所述的第一级索引和第二级索引通过指针关联。
5.如权利要求3所述的索引结构,其特征在于,第一级索引存储XML文档的普通文本属性包括:文档号、文档的URL地址、XML元素的层次遍历序号列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102043889A CN101833588B (zh) | 2010-06-21 | 2010-06-21 | 一种xml文档索引结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102043889A CN101833588B (zh) | 2010-06-21 | 2010-06-21 | 一种xml文档索引结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101833588A true CN101833588A (zh) | 2010-09-15 |
CN101833588B CN101833588B (zh) | 2012-06-20 |
Family
ID=42717657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102043889A Expired - Fee Related CN101833588B (zh) | 2010-06-21 | 2010-06-21 | 一种xml文档索引结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101833588B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456055A (zh) * | 2010-10-28 | 2012-05-16 | 腾讯科技(深圳)有限公司 | 兴趣点检索的方法及装置 |
CN105849726A (zh) * | 2013-11-08 | 2016-08-10 | 甲骨文国际公司 | 用于高效地支持通过分层标记数据的即席查询的通用索引 |
CN110309501A (zh) * | 2018-03-27 | 2019-10-08 | 北大方正集团有限公司 | 交叉引用方法与装置 |
CN111130860A (zh) * | 2019-12-11 | 2020-05-08 | 中盈优创资讯科技有限公司 | 网络拓扑管理方法及装置、网络拓扑查询方法及装置 |
CN112699642A (zh) * | 2020-12-31 | 2021-04-23 | 医渡云(北京)技术有限公司 | 复杂医疗文书的索引提取方法及装置、介质及电子设备 |
-
2010
- 2010-06-21 CN CN2010102043889A patent/CN101833588B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
《计算机工程与应用》 20071231 韩忠明等 有效支持全文本检索的XML索引技术研究 169-172 1-3 第43卷, 第28期 * |
《计算机应用研究》 20051231 刘云生等 XQuery查询优化中结构连接顺序选择算法 87-89 1-3 , 第7期 * |
《计算机研究与发展》 20091231 向永清等 面向XML文档的二级索引技术及其在XML关键词检索中的应用研究 373-380 1-3 第46卷, * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102456055A (zh) * | 2010-10-28 | 2012-05-16 | 腾讯科技(深圳)有限公司 | 兴趣点检索的方法及装置 |
CN105849726A (zh) * | 2013-11-08 | 2016-08-10 | 甲骨文国际公司 | 用于高效地支持通过分层标记数据的即席查询的通用索引 |
CN105849726B (zh) * | 2013-11-08 | 2019-09-03 | 甲骨文国际公司 | 用于高效地支持通过分层标记数据的即席查询的通用索引 |
CN110309501A (zh) * | 2018-03-27 | 2019-10-08 | 北大方正集团有限公司 | 交叉引用方法与装置 |
CN110309501B (zh) * | 2018-03-27 | 2021-04-09 | 北大方正集团有限公司 | 交叉引用方法与装置 |
CN111130860A (zh) * | 2019-12-11 | 2020-05-08 | 中盈优创资讯科技有限公司 | 网络拓扑管理方法及装置、网络拓扑查询方法及装置 |
CN111130860B (zh) * | 2019-12-11 | 2023-04-07 | 中盈优创资讯科技有限公司 | 网络拓扑管理方法及装置、网络拓扑查询方法及装置 |
CN112699642A (zh) * | 2020-12-31 | 2021-04-23 | 医渡云(北京)技术有限公司 | 复杂医疗文书的索引提取方法及装置、介质及电子设备 |
CN112699642B (zh) * | 2020-12-31 | 2023-03-28 | 医渡云(北京)技术有限公司 | 复杂医疗文书的索引提取方法及装置、介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101833588B (zh) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102033954B (zh) | 关系数据库中可扩展标记语言文档全文检索查询索引方法 | |
CN101833588B (zh) | 一种xml文档索引结构 | |
CN103123650B (zh) | 一种基于整数映射的xml数据库全文索引方法 | |
CN103646032A (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN102081660B (zh) | 基于语义相关的xml文档关键字检索排序方法 | |
CN102722542A (zh) | 一种资源描述框架图模式匹配方法 | |
CN101710318A (zh) | 蔬菜供应链知识智能获取系统 | |
Wardani et al. | Semantic mapping relational to graph model | |
Abbes et al. | Learning ontology from Big Data through MongoDB database | |
CN115563313A (zh) | 基于知识图谱的文献书籍语义检索系统 | |
CN103186611A (zh) | 一种压缩、解压及查询文档的方法、装置 | |
CN102043802B (zh) | 基于结构摘要的xml关键字检索方法 | |
Nghiem et al. | Which one is better: presentation-based or content-based math search? | |
Wang et al. | Path-based XML relational storage approach | |
CN102867054A (zh) | 一种xml关键字查询方法 | |
CN105955998A (zh) | 基于缓冲技术的无线电监测数据查询方法 | |
Xiang et al. | A new indexing strategy for XML keyword search | |
He | A novel encoding scheme for XML document update-supporting | |
JP5374456B2 (ja) | 文書検索装置の動作方法およびこれをコンピュータに実行させるためのコンピュータプログラム | |
CN101216852A (zh) | 基于序列模式的数据导入及查询方法 | |
CN112328928A (zh) | 一种基于结构序列的文本脉络抽取方法及系统 | |
Thilagam | Schema-Aware Indexes For Json Document Collections | |
Dhar et al. | Scientific document retrieval using structure encoded string with trie indexing | |
Min et al. | Method of Understanding Structure and Building Database with Material Experiment Data | |
Zhao et al. | A Survey of Open Knowledge Extraction for Web-scale Knowledge Graph |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120620 Termination date: 20150621 |
|
EXPY | Termination of patent right or utility model |