评估xml全文搜索的制作方法

文档序号:8460739阅读:262来源:国知局
评估xml全文搜索的制作方法
【技术领域】
[0001] 本发明涉及XML全文搜索。
【背景技术】
[0002] 标记数据
[0003] 应用程序经常把数据存储为带有语境线索(contextual clue)的文本文档,语境 线索在文本内提供。通过给文本内的数据值加标志(tag)或加标签(label),可以为数据 值提供"语境(context)"。数据值的语境可以由单个标签或诸如标签的层次路径之类的标 签组合来提供。在一个示例中,值"Tom"可以以标签"Name"开始。各种标记信号可以用来 区分数据值与标签本身。例如,标签可以用诸如"//Name Tom"中的"//"或者诸如"-Name Tom"中的作标记。在许多标记语g中,诸如在"〈Name>Tom"中,标签是在尖括号内提供 的。数据值的结尾也可以被标记。例如,结尾可以用"〈/Name〉"作标记。结尾还可以由另 一个标签的开始作标记,例如"-Name Tom-Age 25"。经标记的数据可以指示层次结构,使得 单个数据值落在标签的路径下面,诸如在"<〇)阶^(^>〈嫩1^>1'〇111〈/嫩1^>〈/0)阶^(:1'>"中,其 中"Tom"落在路径"C0NTACT/NAME"下面。作为替代,数据值可以用不指定层次路径的个别 标签作标记,诸如在"-Name Tom-Age 25"中。可扩展标记语言(XML)是用来为数据提供语 境的示例性标记语言。
[0004] XML
[0005] 可扩展标记语言(XML)是用于表示数据的万维网联盟(W3C)标准。许多应用程序 被设计为以XML文档的形式输出数据。可以使用各种技术把来自这种XML文档的数据存储 到关系数据库中。XML充当可以与本文所述的技术一起使用的示例性标记语言。
[0006] XML数据包括形成层次的结构化数据项。在XML中,被称为元素的数据项是由打 开标志(opening tag)和关闭标志(closing tag)定界的。元素还可以包括在元素的打开 标志中指定的属性。元素的标志之间的文本可以表示任何类型的数据值,诸如串、日期或整 数。元素可以具有一个或更多个孩子。XML格式化数据的所产生的层次结构以与用来讨论 家族树的术语类似的术语进行讨论。例如,子元素被说成从其父元素或者传下其父亲的任 何元素传下来。父元素被说成是其自己的任何子元素的祖先元素或者其后代元素之一的祖 先元素。总而言之,元素连同其属性和后代被称为树或子树。
[0007] XML 查询和 XPATH
[0008] XML查询语言(XQuery)和XML路径语言(XPath)是用于查询和引用XML内容 的标准。XQuery和XPath可以结合诸如SQL之类的结构化查询语言使用,以表示用于在 XML数据内进行搜索的各种有用查询。这被称为SQL/XML:国际标准化组织(ISO)。日期 为 2005 年 7 月 21 日、标题为"Information Technology-Database Language SQL-Part 14: XML-Related Specif ications (SQL/XML) "的规范的全部内容通过引用并入于此,就好 像在此完整地阐述了一样,其中在写作时间该文可以在http://www. sqlx. org/SQL-XML-d ocuments/5FCD-14-XML-2004-07. pdf 获得。示例性的 XPath 功能在 1999 年 11 月 16 日 的标题为"XML Path Language (XPath),version 1. 0"的W3C建议书中得到描述,该文在 写作时间可以在http://www. w3. org/TR/xpath获得,其全部内容通过引用并入于此,就 好像在此完整地阐述了一样。示例性的XPath功能还在2007年1月23日的标题为"XML Path Language (XPath) 2. 0"的W3C建议书中得到描述,该文在写作时间可在http://www. w3.org/TR/xpath获得,其全部内容通过引用并入于此,就好像在此完整地阐述了一样。示 例性的 XQuery 功能在 2007 年 1 月 23 日的标题为"XQuery 1. 0:An XML Query Language" 的W3C建议书中得到描述,该文在写作时间可在http://www. w3. org/TR/xquery获得,其全 部内容通过引用并入于此,就好像在此完整地阐述了一样。
[0009] 路径表述
[0010] XML文档的结构在XML文档内的节点之间建立父-子关系。用于XML文档中的节 点的"路径"反映了从"根"节点开始以到达特定节点的一系列父-子链接。例如,到包括 "〈CONTACT〉. ??〈ACCOUNT〉. ?? <ID>. ?? </ID>. ??〈/ACCOUNT〉. ??〈/CONTACT〉" 的文档中的 ID 节点的路径是/C0NTACT/ACC0UNT/ID,因为"ID"节点是"ACCOUNT"节点的孩子,"ACCOUNT" 节点是" CONTACT "节点的孩子。
[0011] 存储和查询XML数据
[0012] XML数据的大部分作为非结构化数据库对象被存储在数据库中,所述非结构化数 据库对象把数据作为原始文本的单个项进行存储。例如,XML数据常常被存储在非结构化 数据库列中,诸如字符大对象(CL0B)列、可变字符字段(VARCHAR)列或者二进制大对象 (BLOB)列。通过提交使数据库服务器对列执行全文搜索的数据库查询,可以对表的CL0B、 VARCHAR和BLOB列执行全文搜索。对CL0B、VARCHAR和BLOB列的全文搜索是通过针对指 定文本值扫描整列来执行的。作为替代,为了更高效地处理查询,数据库服务器可以使用文 本索引,所述文本索引使文本值与包含该文本值的行中的一行或更多行相关联。把XML文 档作为原始文本的单个数据项进行存储是方便的,因为,为了把数据存储在非结构化列中, 用户甚至不需要知道数据是否符合XML。在XML数据被存储在数据库中之前,XML数据不需 要被处理或分解,并且把XML文档作为原始文本的单个数据项进行存储在逐字节或者逐字 符的基础上维持了文档保真度或文本保真度。因为文档保真度得以维持,所以把XML文档 作为原始文本的单个数据项进行存储可以在不干扰使用原始XML文档的应用程序、开发人 员或用户的情况下实现。
[0013] 对诸如CL0B列、VARCHAR列或BLOB列之类的原始文本的数据项的基于本文的搜 索对于基本关键词搜索是高效的,但是基于文本的搜索不在XML文档中对出现关键词的语 境进行定址(address)。当XML文档作为原始文本存储在非结构化列中时,数据库服务器不 能利用XML文档包含带标志的内容的事实,其中单个XML文档可以包括各种命名的属性和 具有具体数据值的元素。
[0014] XML类型数据
[0015] 在XML文档被存储在数据库中之前,XML文档可以被切碎成其构成属性和元素。 例如,符合XML的文档可以被存储在关系数据库中的XMLType数据类型列中,就如在标题为 "Method And Apparatus For Flexible Storage And Uniform Manipulation of XML Data In A Relational Database System"的美国专利No. 7024425中所描述的,其全部内容通过 引用并入于此,就好像在此完整地阐述了一样。当XML文档被存储在XMLType列中时,数据 库服务器把XML文档的属性和元素映射到关系数据库中的单独的列,并且数据库服务器存 储把XML文档的属性和元素映射到关系数据库中实际存储属性和元素的列的映射信息。把 数据作为XMLType的存储使数据被分解成代表XML内容的节点的关系对象。数据库服务器 把XML文档作为XMLType抽象数据类型的单个数据项呈现,尽管XML文档的单独的属性和 元素被映射到单独的关系列。如果XML用户提交从XML文档搜索特定元素的值的查询,则 XML用户的查询被重写,以访问保持该特定元素的值的关系列。
[0016] 如果不存在保持所搜索的特定元素的值的关系列,则该值可以在XMLType列中的 XMLType项内所包含的CL0B中找到。XMLType项的CL0B部分不作为CL0B列暴露给用户, 并且,因为CL0B部分在XMLType项内,所以只有符合XML的数据可以存储在这种CL0B部分 中。通过允许文档的结构化表示经由扫描整个文档来构造,XMLType保持D0M(文档对象模 型)保真度。当使用基于路径的表述来访问存储在XMLType项的CL0B部分中的XML数据 时,D0M是在内存中构造的整个XML文档的结构化表示。D0M提供关于文档内的节点之间的 层次关系的信息。XQuery可用来以知道文本出现在XML文档中的语境的方式搜索XMLType 数据。
[0017] 文档遍历索引
[0018] 对于结构化内容,可以创建索引来标记节点在结构化内容内的位置,并且允许从 节点到节点的遍历,而无需扫描节点之间的全部内容。诸如XML树索引之类的文档遍历 索引存储指定节点在文档中的位置的节点条目,以及到诸如根节点、父/祖先节点、兄弟 节点或者孩子/后代节点之类的相关节点的类似条目的链接。示例性的XML树索引功能 在以下文献中得到描述:标题为"Efficient XML Tree Indexing Structure Over XML Content"的美国专利No. 8266151,其全部内容通过引用并入于此,就好像在此完整地阐述 了一样;标题为 "Providing Context Aware Search Adaptively" 的美国专利申请公开 No. 2011/0302189,其全部内容通过引用并入于此,就好像在此完整地阐述了一样;以及标 题为 "Searching Backward To Speed Up Query" 的美国专利申请公开 No. 2011/0302198, 其全部内容通过引用并入于此,就好像在此完整地阐述了一样。
[0019]本部分中所述的方法是可以实行的方法,但不一定是之前已经想到或实行的方 法。因此,除非另外指出,否则不应当假
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1