CN105027115B - 对文档的查询和索引 - Google Patents

对文档的查询和索引 Download PDF

Info

Publication number
CN105027115B
CN105027115B CN201380064583.8A CN201380064583A CN105027115B CN 105027115 B CN105027115 B CN 105027115B CN 201380064583 A CN201380064583 A CN 201380064583A CN 105027115 B CN105027115 B CN 105027115B
Authority
CN
China
Prior art keywords
document
node
inquiry
index
identified
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.)
Active
Application number
CN201380064583.8A
Other languages
English (en)
Other versions
CN105027115A (zh
Inventor
L·张
M·布度
Y·于
G·D·普洛特金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105027115A publication Critical patent/CN105027115A/zh
Application granted granted Critical
Publication of CN105027115B publication Critical patent/CN105027115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/956Hierarchical

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据文档集合生成文档索引并将其用来标识匹配一个或多个查询的文档。为每一文档生成具有与文档的每一对象相对应的节点的树。所生成的树的各节点被归并或组合以生成文档索引,它本身是树。另外,为该索引的每一节点生成标识该节点源自的一个或多个树的倒排索引。在接收到查询时,该查询首先对照文档索引树来执行。在执行期间,正确的集合操作被应用于与该查询所匹配的节点相关联的倒排索引。所得的集合标识可与该查询相匹配的文档。该查询随后在所标识的文档上执行。

Description

对文档的查询和索引
技术领域
本公开涉及对文档的查询和索引。
背景技术
JavaScript对象记法(JSON)是数据交换格式,该数据交换格式正在变成对商品和研究产品的选择的格式。在JSON文档集合以及诸如XML和HTML等其它文档格式上执行的最典型的操作之一是结构查询的处理,除了特定字段值之外,它基于结构模式对数据进行匹配。结构查询的可表达性使得难以应用针对关系数据和查询设计的索引过程。缺少与JSON文档相关联的模式进一步妨碍了用于(例如,使用辅助索引)加速查询处理的传统技术的适用性。
发明内容
根据JSON文档集合生成文档索引并将其用来标识可匹配任何给定查询的文档。为每一文档生成具有与文档的每一对象相对应的节点的树。所生成的树的各节点被归并或组合以生成文档索引,文档索引它本身是树。另外,为该索引的每一节点生成倒排索引,该倒排索引标识该节点源自的一个或多个文档树。在接收到查询时,该查询首先对照文档索引树来执行:在执行期间,正确的集合操作被应用于与该查询所匹配的节点相关联的倒排索引。所得的集合标识可与该查询相匹配的文档。该查询随后在所标识的文档上重新执行。在索引上运行查询将不错失任何匹配的文档,但可能返回不与该查询相匹配的一些文档。
在一实现中,计算设备接收多个文档。每一文档包括多个对象。对于每一文档,生成表示该文档的图。每一个图包括与所表示的文档的每一对象相对应的节点。通过归并所生成的图的各节点来生成文档索引。文档索引中的每一节点包括包含该节点的一个或多个图的标识符。由计算设备接收查询。使用所生成的文档索引来标识该多个文档中的作为该查询的响应的一个或多个文档。该查询在所标识的一个或多个文档上重新执行以确定该一个或多个文档的与该查询相匹配的子集。响应于该查询来提供查询执行以找出这一子集的结果,作为整个文档或文档片段。
在一实现中,计算设备接收文档索引。文档索引包括多个节点,且每一节点包括多个图中的一个或多个图的标识符,并且每一个图表示多个文档中的文档。由计算设备接收查询。该查询包括多个子查询。对于每一子查询:确定文档索引中的与子查询相匹配的节点;且对于与子查询相匹配的每一所确定的节点,确定由所确定的节点的标识符所标识的一个或多个图。为每一子查询确定所确定的一个或多个图的并集。标识由所确定的图的并集所表示的文档。该查询在所标识的一个或多个文档上重新执行,以确定该一个或多个文档的与该查询相匹配的子集。响应于该查询来提供查询执行以找出这一子集的结果,作为整个文档或文档片段。
提供本概述以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
当结合附图进行阅读时,可以更好地理解以上概述以及以下对说明性实施例的详细说明。出于说明各实施例的目的,在附图中示出各实施例的示例性构造;然而,各实施例不局限于所公开的具体方法和手段。在附图中:
图1是用于履行查询的示例环境的图示;
图2是示例文档引擎的图示;
图3是示例树的图示;
图4是另一示例树的图示;
图5是示例文档索引的图示;
图6是使用文档索引来履行查询的方法的实现的操作流程;
图7是使用文档索引来履行查询的方法的另一实现的操作流程;以及
图8示出了在其中可实现各示例实施例和各方面的示例性计算环境。
具体实施方式
图1是用于履行查询的示例环境100的图示。环境100可以包括客户端设备110、以及通过网络120与客户端设备110通信的文档引擎150。网络120可以是包括公共交换电话网(PSTN)、蜂窝电话网和分组交换网(例如,因特网)的各种网络类型。
在一些实现中,客户端设备110可以包括台式个人计算机、工作站、膝上计算机、智能电话、蜂窝电话或任意启用WAP的设备或能够直接或间接与网络120对接的任意其它计算设备。例如,可使用诸如图8中所示的计算设备800的通用计算设备来实现客户端设备110。尽管仅示出一个客户端设备110,但这仅用于说明目的,对于可被支持的客户端设备的数量不存在限制。
文档引擎150可以从客户端设备110接收一个或多个查询115。文档引擎150可以基于文档160生成作为查询115的响应的一组结果125。结果125可包括作为查询115的响应的文档160的链接、文档片段、或其他指示符。文档160可包括各种文档类型,包括HTML文档、XML文档、以及JavaScript对象记法(JSON)文档。可以支持其他类型的文档。文档160可以不与模式相关联。
在一些实现中,文档160中的每一个可具有标记和一个或多个对象。每一对象本身可具有标记和一个或多个对象或值。另外,每一文档和对象可包括一个或多个阵列。每一阵列可具有标记且可以是值的阵列或对象的阵列。可以使用或支持其他文档语法和/或类型。
出于简化的目的,本文描述的文档160被描述成值是串类型的。然而,本文描述的实现可以支持其他类型。
例如,用于使用以下语法来存储与两个公司相关的数据的两个文档160(文档A和文档B)是:
如参考图2进一步描述的,文档引擎150可以根据文档160生成文档索引170,并且可以使用文档索引170来生成响应于查询115的结果125。在一些实现中,文档引擎150可以根据文档160生成图或树或其他数据结构,且可以提供归并所生成的图来生成文档索引170。文档索引170可由文档引擎150使用来标识作为查询115的响应的文档160,从而向用户提供经改进的搜索体验。
图2是示例文档引擎150的图示。文档引擎150可包括但不限于树引擎210、索引引擎220以及查询引擎230。可以支持更多或更少的组件。文档引擎150的各组件中的一些或全部可以使用诸如例如计算设备800的一个或多个通用计算设备来实现。
树引擎210可以根据文档160生成一个或多个树215。可为文档160中的每一文档生成树。在一些实现中,树215中的每一个可包括多个节点。树的每一内部节点可以表示文档中的对象且可具有与该对象的标记相对应的标记。树的每一叶节点可以表示值且可具有与该值相对应的标记。表示叶节点的串值的标记总是与正常对象标记区分开,甚至在它们具有相同的拼写时。文档160中的阵列可被重写为具有数值标记的对象,且可以在树中表示为内部节点类对象。树215中的每一个可具有根节点,根节点具有空串值。注意,其他数据结构可被用于树215;例如在一些实现中,每一树可被实现为有向图。
例如,图3示出了根据文档A生成的示例树310,且图4示出了根据文档B生成的示例树410。如可从图3和4中看到的,树310和410中的每一个分别包括表示来自文档A和B的每一对象和值的节点。如上所述,与位置和出口标记相对应的阵列已被重写在每一树中作为具有数值标记的对象。
在一些实现中,树引擎210可以根据文档160递归地生成树215。例如,树引擎210可以使用以下函数buildTree来构造树215,其中“rootLabel(根标记)”是附连到所生成的树的根的标记,且“Document(文档)”是要根据其生成树的文档。可以使用用于根据文档160生成树215的其他方法。
查询引擎230可以匹配包括一个或多个子查询的查询115。每一子查询本身是个查询且可包括一个或多个运算符,该一个或多个运算符被称为“节点匹配器”。在一实现中,查询引擎230可以接受具有以下句法的匹配查询115:
节点匹配器(或nm)是在节点的标记匹配节点匹配器所指定的一个或多个值时返回真的任意布尔函数。节点匹配器可被进一步分类成匹配内部节点的标记的标记匹配器和只匹配基值的值匹配器。这些中的任一者可以调用任意布尔函数。
可以通过使用来自所述句法的运算符组合子查询,来使用以上句法生成查询115。每一子查询可以是节点匹配器。查询引擎230可通过解决接收到的查询的每一子查询并基于特定运算符(例如,&)来组合结果,来递归地解决该查询。
查询引擎230可以将查询115应用于树215的根节点,并返回树215的一组节点,该组节点的值与查询115相匹配。如果返回非空一组节点,则查询q与树t相匹配。一般而言,查询q被应用在节点v处。各运算符的含义在以下递归地定义:
节点匹配器nm可被查询引擎230应用于节点的标记。如果应用于该标记的节点匹配器返回“真”,则查询引擎230可以返回节点本身,否则返回空集。一些示例节点匹配器函数可包括匹配节点的特定标记的函数、匹配大于指定长度的标记的函数、以及匹配包括特定子串的标记的函数。可以使用其他类型的节点匹配器。
运算符“∈”可以表示空查询(它可以使用空串来被写入)。∈运算符可以匹配查询引擎230将它应用到的任何节点。
任何运算符“?”是匹配所有标记的特殊节点匹配器。与∈运算符类似,该任何运算符可以与查询引擎230将它应用到的任何节点相匹配。“?”运算符的各单独版本可被用于标记匹配器和值匹配器(例如,通过用@?来表示值匹配器)。
子运算符“/”匹配节点的所有子节点。子运算符匹配任何内部节点,并且在被查询引擎230应用于叶节点时产生空集。
顺序运算符组合两个任意查询q1和q2并且在查询115中由两个查询的并置来表示。查询引擎230可以通过将q1应用于节点v并随后将q2应用于对节点v应用q1的结果,来将顺序运算符应用于查询q1和q2。应用q2的结果的并集是组合查询的结果。
或运算符“|”以及与运算符“&”两者组合两个查询q1和q2。对于或运算符(or),查询引擎230可以返回查询q1和q2的结果的并集。对于与运算符(and),查询引擎230可以返回查询q1和q2的结果的交集。
星运算符*基于来自正则表达式的Kleene星运算符。查询引擎230将星运算符应用于查询q的结果可以是将查询q依次应用于节点0次、1次、2次等等的结果的并集。例如,查询“/*/”柏林””在被查询引擎230应用时,可以产生包括包含被标记为“柏林”的子节点的所有树的结果。星运算符的“有界”版本也可被使用,它匹配至多若干次,或指定次数以上。
按位异或运算符^被用来确定查询q是否匹配任何事物。在查询引擎230将按位异或运算符应用于查询q的结果时,如果结果非空则查询引擎230返回当前节点而非返回结果,结果被查询引擎230丢弃且只返回当前节点。
附加“切(cut)”运算符可由查询引擎230使用来只返回查询所匹配的文档上的片段。切运算符的句法由以下给出:
Userquery=query!query(用户查询=查询!查询)。
在对照文档匹配切运算符时,该算法可以计算两个匹配节点集合,如同切是分开两个查询的“顺序”运算符一样。然而,查询q1!q2的最终结果可以根据具有由q1匹配的根节点的所有子文档来组成,且每一个包含在所述子文档中的每一个的根节点处开始由q2横跨的所有节点。
索引引擎220可以根据树215生成文档索引170。文档索引170可以是所有树215的近似概括。在一些实现中,文档索引170可以是通过组合或归并一些或全部树215来生成的树。因而,文档索引170可包括内部节点和叶节点两者。然而,内部结点可以只与其他内部节点归并,且叶节点可以只与其他叶节点归并。文档索引170中的每一节点可以与树215的一组节点相对应。在归并节点时,所得的节点可以包含归并节点的所有标记。因而,索引170中的一些节点可具有多个标记。特殊标记“*”可被用来表示“所有可能的标记”,或者可以被用来近似索引节点中的标记集合(在它变得过大的情况下)。对应关系可以由将文档索引170中的每一节点与对应树215进行关联的映射来表示。该映射可由索引引擎220生成。
查询引擎230可以对照文档索引170搜索接收到的查询115以使用文档索引170和映射来生成结果125。例如,查询引擎230可以确定来自索引170的与查询115相匹配的节点。查询引擎230可以使用该映射来确定具有映射到所确定的节点的各节点的树215。与所确定的节点相对应的文档160可被用来再次执行查询,从而得到文档160的子集。该子集可被呈现为结果125。
该映射可以是被称为倒排索引的映射。文档索引170中的每一节点可包括倒排索引。节点的倒排索引可以标识节点在生成索引170时到来的树215。
例如,图5是通过归并图3和4中示出的树310和410来生成的示例文档索引510的图示。具有圆形的节点表示作为树310和树410两者的一部分的节点。具有三角形的节点表示只是树410的一部分的节点。具有矩形的节点表示只是树310的一部分的节点。因而,具有圆形的任何节点具有指示源自树310和树410两者的节点的倒排索引{310,410},具有三角形的任何节点具有指示源自树410的节点的倒排索引{410},而具有矩形的任何节点具有指示源自树310的节点的倒排索引{310}。
查询引擎230可以对照文档索引170匹配接收到的查询115以确定来自文档索引170的匹配节点集合。与每一匹配节点相关联的倒排索引可由查询引擎230用来检索可匹配查询115的树215。查询115随后可以对照被用来生成检索到的树215的文档160再次执行,且结果被返回给与查询115相关联的客户端设备110来作为结果125。
因为文档索引170是树215,所以用于匹配树215上的查询115的上述递归算法也可在少许修改的情况下由查询引擎230用来匹配文档索引170上的查询115。对于查询115运算符和节点匹配器,在被应用于文档索引170时查询的含义如下递归地定义。
如可理解的,取决于查询115中的操作,文档索引170的被发现与查询相匹配的各节点可以产生过度保守的结果(即,可能返回非匹配节点)。为了降低虚假肯定的数量,在一些实现中,在处理查询的每一部分时,查询引擎230可以记录文档索引170的节点被选择成结果125的“原因”。该原因可以是特定树215与所选或匹配节点相关联。因此,在处理查询115的每一步骤处,查询引擎230可以确定树215与任何所选或匹配节点相关联。相关联的树215可以由查询引擎230使用与每一节点相关联的倒排索引来确定。
查询引擎230可以通过基于与查询115的各子查询相关联的特定运算符组合根据每一子查询所确定的树215来确定与查询115相关联的结果。例如,对于或运算符和按位异或运算符,查询引擎230可以取得子查询所产生的树215的并集。例如,对于与运算符和子运算符,查询引擎230可以取得子查询所产生的树215的交集。
对于这些实现,与应用于文档索引的节点v的查询q的所选或匹配节点u相关联的树215的原因或集合J被定义为J(q,v,u)。对于在v处运行的查询q的结果中的每一节点u,集合J(q,v,u)可以通过表示树215集合来解释u为什么在结果中。对于查询运算符和节点匹配器,在被应用于包括J(q,v,u)的文档索引170时查询的含义如下递归地定义。
q=nm,q=?,q=∈,q=/
J(q1|q2,v,u)=J(q1,v,u)∪J(q2,v,u)
J(q1&q2,v,u)=J(q1,v,u)∩J(q2,v,u)
J(q*,v,u)=I(v)∪n≥1J(qn,v,u)
在一些实现中,文档引擎150可以基于一个或多个点阵来处理查询115,而非使用上述基于树的方法。每一查询115可被建模为用v和u来索引的矩阵,其中u是来自对节点v应用查询的结果的节点之一。该矩阵可具有点阵值元素。点阵L可以是幂集点阵且可包括树215的子集。点阵可以具有操作∧和∨,底部和顶部元素由⊥和来表示。对于索引的两个有限集A和B,MatL(A,B)可以是用来自A和B的值来索引并具有来自点阵L的值的矩阵的集合。如果M是这样的矩阵,则M[a,b]是该矩阵的作为来自L的值的元素,其中a是A的元素且b是B的元素。
索引引擎220可以将树215和文档索引170中的每一者建模成一个或多个标记L的树。标记L的树t可以采取t=(V,C,label)的形式,其中V是节点集合,C∈MatL(V,V)被称为子矩阵,且label∈MatL(V,∑)被称为标记矩阵。∑表示所有可能的标记。每一矩阵可以取来自点阵L的值。每一节点匹配器函数nm可被定义为向量,其中nm∈VecL(∑)可被编码为指示∑中的每一标记出现的位置的向量。TA表示用来自A的元素索引的向量,其中所有值是点阵的顶部元素。对于向量A,ΔA表示全部底部元素且对角线具有A的元素的对角矩阵。
接收到的查询q在被应用于标记L的树t时可被表示为具有来自点阵L的值的方阵Query(q)∈MatL(V,V)。方阵Query(q)可以由查询引擎230根据接收到的查询q来归纳地计算。查询115在由查询引擎230应用时的意义可以如下递归地定义:
在一些实现中,查询引擎230可以根据接收到的查询115的每一子查询和文档索引来生成矩阵。查询引擎115还可基于每一子查询来生成矩阵操作。查询引擎230随后可通过评估根据接收到的查询的每一子查询所生成的矩阵、根据所述文档索引生成的矩阵、以及根据每一子查询生成的矩阵操作,来标识所述多个文档中的作为查询115的响应的一个或多个文档。查询引擎230随后可针对所标识的文档来运行查询以确定所标识的一个或多个文档的作为查询115的响应的子集。
在一些实现中,并非使用上述基于树和基于点阵的方法,文档引擎150可以使用非确定性有限状态自动机(NFA)来处理查询115。。对于给定树T和查询q,由查询引擎230将查询q针对树T进行匹配可被表达为图上的图搜索,该图被定义为T和依赖于查询q的另一图 A(q)的积。如下文进一步讨论的,查询引擎230对A(q)的构造可类似于将正则表达式变换成自动机的过程。
NFA N可被描述为元组N=(Q,∏,s,t),其中Q是状态集合,s∈Q是NFA的起始状态,t∈Q是NFA的最终状态,且∏描述两个状态之间的转移。每一转移可以是包括∈-转移、节点匹配器转移(μ-转移)、以及子转移(τ-转移)的三个类型之一。
查询引擎230可以根据接收到的查询q来递归地构造NFA N[q]:它首先递归地构造q的每一子查询的NFA,并随后将这些NFA组合成q的NFA。以下更详细地描述构造过程。
N[nm]具有两个状态s和t,从s到t的唯一转移用nm来标记。
N[/]具有两个状态s和t,且存在从s到t的τ-转移。
N[q1q2]是由查询引擎230串接N1和N2、归并t1和s1、并令s=s1且t=t2来获得的。.
N[q1|q2]可由查询引擎230添加新起始状态s和最终状态t,并添加从s到s1和s2的∈-转移,以及从t1、t2到t的∈-转移来获得。
N[q1*]可由查询引擎230添加从t到s的∈-转移来获得。
N[q1&q2]可由查询引擎230取得两个NFA的积来获得。对于∈或μ-转移,π1=(q1,q’1)∈∏1,对于每一q2∈Q2,查询引擎230可以添加具有相同转移类型的从(q1,q2)到(q’1,q2)的转移。在π1是μ-转移时,查询引擎230可以指派nmπ=nmπ1。对称地,查询引擎230可以执行∏2中的类似指派。另外,对于每一τ-转移(q1,q’1)∈∏1和每一τ-转移(q2,q’2)∈∏2,查询引擎23可以在∏中添加从(q1,q2)到(q’1,q’2)的τ-转移。此外,查询引擎230可以令s=(s1,s2)且t=(t1,t2)。
可以通过反转为q1构造的图的方向并搜索该图以获得^q1的结果来不同地处理^q1。一旦^q1的结果被计算得到,它就可被当作查询中的节点匹配器,该查询将它包括作为子查询。
在如上所述根据查询115构造了NFA之后,查询引擎230可以根据NFA来构造图A(q)。在一些示例实现中,查询引擎230可以通过为NFA中的每一转移生成边来构造图。在转移是∈-转移的情况下,对于该图中的每一顶点v,查询引擎230可以添加从(v,q1)到(v,q2)的边并可以向该边指派权重T(即,真)。在转移是μ-转移的情况下,对于该图中的每一顶点v,查询引擎230可以添加从(v,q1)到(v,q2)的边并可以向该边指派权重nmπ。在转移是τ-转移的情况下,对于该图中的每一顶点v,查询引擎230可以添加从(v,q1)到(v,q2)的边并可以向该边指派权重C(u,v)。
一旦构造了该图,查询引擎230就可以搜索该图以计算查询结果。图搜索可以使用标准图搜索算法来完成,如宽度优先搜索。
图6是使用文档索引170来履行查询的方法600的实现的操作流程。方法600可以由文档引擎150来实现。
在601,接收多个文档。文档160可以由文档引擎150来接收。文档可以是JSON文档或XML文档。每一文档可包括多个对象。每一对象可包括一个或多个对象,且还可包括一个或多个值。
在603,对于每一文档,生成表示该文档的图。该图可由文档引擎150的树引擎210来生成。在一些实现中,图可以是树。树引擎210可以通过生成文档的每一对象的节点来递归地生成文档的树215。
在605,生成文档索引。文档索引170可由索引引擎220通过归并或组合所生成的图的各节点来生成。文档索引170还可包括每一节点的倒排索引。节点的倒排索引可以标识该节点作为其一部分的一个或多个图。
在607,接收查询。查询115可由文档引擎150的查询引擎230从客户端设备110接收。查询115可包括一个或多个子查询,且每一子查询可以对应于运算符或节点匹配器。查询115可以是请求标识匹配查询115的一个或多个文档160。
在609,标识作为该查询的响应的一个或多个文档。一个或多个文档160可以由查询引擎230使用文档索引170来标识。查询引擎230可以确定来自文档索引170的与查询115相匹配的各节点,并且可以使用与所确定的节点相关联的倒排索引来标识一个或多个相关联的图。在一些实现中,查询引擎230可以递归地处理查询115的每一子查询。对于第一子查询,查询引擎230可以标识文档索引170的与第一子查询相匹配的节点。查询引擎230随后可标识匹配第一子查询的所标识的节点中的与下一子查询相匹配的节点,以此类推。如上所述,匹配子查询中的每一者的节点的集合随后被用来使用与每一节点相关联的倒排索引来确定作为查询115的响应的文档160。
在611,在所标识的一个或多个文档上运行查询以生成一个或多个文档的子集。查询可以由查询引擎230通过针对所标识的一个或多个文档来匹配查询并为该子集选择任何匹配的文档来运行。作为查询结果的文档可包括所标识的文档的片段。
在613,提供文档或文档片段。文档或片段可由文档引擎150提供给发出查询115的客户端设备110来作为结果。在提供了结果之后,方法600可以在607处继续。
图7是使用文档索引170来履行查询115的方法700的实现的操作流程。方法700可以由文档引擎150来实现。
在701,接收查询。查询115可由文档引擎150的查询引擎230从客户端设备110接收。查询115可包括一个或多个子查询,且每一子查询可以对应于运算符或节点匹配器。查询115可以是请求标识匹配查询115的一个或多个文档160。
在703,对于每一子查询,确定匹配该子查询的节点。匹配节点可以由查询引擎230根据文档索引170来确定。如果其值匹配与子查询相关联的节点匹配器或运算符,则节点可匹配查询。文档索引170可以是包括多个节点的图(诸如,树)。每一节点可以是作为一个或多个图的一部分的节点,每一个图表示文档160之一。文档索引的每一节点可具有标识它作为其一部分的图的倒排索引。
在705,对于为每一子查询确定的每一节点,确定每一节点所标识的图。图可以是树,且可以由查询引擎230使用与文档索引170中的每一节点相关联的倒排索引来确定。
在707,确定所确定的一个或多个图的并集。并集可以由查询引擎230来确定。并集可以是为每一子查询所确定的匹配节点所标识的图的并集。
在709,标识所确定的并集的图所表示的文档。文档160可以由查询引擎330来标识。
在711,在所标识的文档上运行查询以生成文档的子集。查询可以由查询引擎230通过针对所标识的文档来匹配查询并为该子集选择任何匹配的文档或文档片段来运行。
在713,提供文档或文档片段。文档或文档片段可被提供给提供查询115的客户端设备110来作为结果125。在提供了结果之后,方法700可以在701处继续。
图8示出了在其中可实现各示例实施例和各方面的示例性计算环境。计算系统环境只是合适的计算环境的一个示例,并非旨在对使用范围或功能提出任何限制。
可以使用很多其他通用和专用计算机系统环境或配置。适合使用的公知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、网络PC、微型计算机、大型计算机、嵌入式系统、包括任何以上系统或设备的分布式计算环境等。
可以使用诸如程序模块等可由计算机执行的计算机可执行指令。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可使用其中任务由通过通信网络或其他数据传输介质链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块和其他数据可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图8,用于实现此处所描述的各方面的示例性系统包括计算设备,诸如计算设备800。在其最基本的配置中,计算设备800通常包括至少一个处理单元802和存储器804。取决于计算设备的确切配置和类型,存储器804可以是易失性的(如随机存取存储器(RAM))、非易失性的(诸如只读存储器(ROM)、闪存等)或两者的某种组合。该最基本配置在图8中由虚线806来例示出。
计算设备800可以具有附加特征/功能。例如,计算设备800还可包含附加存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁带。这样的附加存储在图8中由可移动存储808和不可移动存储810示出。
计算设备800通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备800访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器804、可移动存储808和不可移动存储810都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储所需信息且可以由计算设备800访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备800的一部分。
计算设备800可包含允许该设备与其它设备通信的通信连接812。计算设备800也可包括输入设备814,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备816,如显示器、扬声器、打印机等等。所有这些设备在本领域是众知的并且不必在此详细讨论。
应该理解,此处描述的各种技术可以结合硬件或软件,或在适当时结合两者的组合来实现。因此,当前公开的主题的方法和装置或其特定方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实现当前所公开的主题的装置。
尽管示例性实现可涉及在一个或多个独立计算机系统的上下文中利用当前所公开的主题的各方面,但本主题不受此限制,而是可以结合任何计算环境,诸如网络或分布式计算环境来实现。此外,当前所公开的主题的各方面可在多个处理芯片或设备中或跨多个处理芯片或设备实现,且存储可类似地跨多个设备来实现。这些设备可能包括例如个人计算机、网络服务器、以及手持式设备。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (10)

1.一种文档查询和索引方法,包括:
由计算设备接收多个文档,其中每一文档包括多个对象;
对于每一文档,由所述计算设备生成表示所述文档的图,其中每一个图包括与所表示的文档的每一对象相对应的节点;
通过由所述计算设备归并所生成的图的各节点来生成文档索引,其中所述文档索引中的每一节点包括包含该节点的一个或多个图的标识符;
由所述计算设备接收查询;
根据接收到的查询来生成矩阵;
根据接收到的查询生成一个或多个矩阵操作;
由所述计算设备使用所生成的文档索引、根据接收到的查询生成的矩阵、以及根据接收到的查询生成的一个或多个矩阵操作来标识所述多个文档中的作为所述查询的响应的一个或多个文档;
由所述计算设备在所标识的一个或多个文档上运行所述查询以生成所标识的一个或多个文档的子集;以及
由所述计算设备提供一个或多个所标识的文档的所述子集作为所述查询的响应。
2.如权利要求1所述的方法,其特征在于,所述多个所标识的文档包括文档片段。
3.如权利要求1所述的方法,其特征在于,所述查询包括多个子查询,并且使用所生成的文档索引来标识所述多个文档中的作为所述查询的响应的一个或多个文档包括:
对于每一子查询:
确定所述文档索引中的与所述子查询相匹配的节点;以及
对于每一所确定的与所述子查询相匹配的节点,确定由所确定的节点所标识的图;
为每一子查询确定所确定的图的并集;以及
将由所确定的图并集的各个图来表示的一个或多个文档标识为对所述查询进行响应的所标识的一个或多个文档。
4.如权利要求1所述的方法,其特征在于,所述图包括树。
5.如权利要求1所述的方法,其特征在于,所述查询包括多个子查询,并且所述方法还包括:
根据所述文档索引生成矩阵;以及
通过评估根据接收到的查询的每一子查询所生成的矩阵、根据所述文档索引生成的矩阵、以及根据每一子查询生成的矩阵操作,来标识所述多个文档中的作为所述查询的响应的一个或多个文档。
6.如权利要求1所述的方法,其特征在于,还包括生成接收到的查询的图,并且使用所生成的文档索引来标识所述多个文档中的作为搜索查询的响应的一个或多个文档包括:对所述文档索引与接收到的查询的所生成的图的积执行图搜索。
7.一种文档查询和索引系统,包括:
计算设备;
索引引擎,所述索引引擎被适配成根据多个文档生成文档索引,其中所述文档索引包括多个节点,并且每一节点标识一个或多个文档;以及
查询引擎,其被适配成:
接收查询;
根据接收到的查询来生成矩阵;
根据接收到的查询生成一个或多个矩阵操作;
使用所生成的文档索引、根据接收到的查询生成的矩阵、以及根据接收到的查询生成的一个或多个矩阵操作来标识所述多个文档中的作为所述查询的响应的一个或多个文档;
在所述一个或多个文档上运行所述查询以生成所标识的一个或多个文档的子集;以及
提供所述一个或多个文档的所述子集作为所述查询的响应。
8.如权利要求7所述的系统,其特征在于,所述索引引擎被适配成根据多个文档生成文档索引包括:所述索引引擎被适配以:
对于每一文档,生成表示所述文档的图,其中每一个图包括与所表示的文档的对象相对应的节点;以及
通过归并所生成的图的各节点来生成文档索引,其中所述文档索引中的每一节点包括包含该节点的一个或多个图的标识符。
9.如权利要求8所述的系统,其特征在于,所述查询包括多个子查询,并且所述查询引擎被适配成使用所生成的文档索引来标识所述多个文档中的作为所述查询的响应的一个或多个文档包括:所述查询引擎被适配以:
对于每一子查询:
确定所述文档索引中的与所述子查询相匹配的节点;以及
对于每一所确定的与所述子查询相匹配的节点,确定由所确定的节点所标识的图;
为每一子查询确定所确定的图的并集;以及
标识由所述图的所确定的并集的各个图所表示的一个或多个文档。
10.如权利要求7所述的系统,其特征在于,所述多个文档是JavaScript对象记法(JSON)文档和XML文档中的一者或多者。
CN201380064583.8A 2012-12-10 2013-12-09 对文档的查询和索引 Active CN105027115B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/709,064 US9208254B2 (en) 2012-12-10 2012-12-10 Query and index over documents
US13/709,064 2012-12-10
PCT/US2013/073927 WO2014093248A2 (en) 2012-12-10 2013-12-09 Query and index over documents

Publications (2)

Publication Number Publication Date
CN105027115A CN105027115A (zh) 2015-11-04
CN105027115B true CN105027115B (zh) 2018-10-16

Family

ID=49887297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380064583.8A Active CN105027115B (zh) 2012-12-10 2013-12-09 对文档的查询和索引

Country Status (4)

Country Link
US (1) US9208254B2 (zh)
EP (1) EP2929469A2 (zh)
CN (1) CN105027115B (zh)
WO (1) WO2014093248A2 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731954B2 (en) 2006-03-27 2014-05-20 A-Life Medical, Llc Auditing the coding and abstracting of documents
US8682823B2 (en) 2007-04-13 2014-03-25 A-Life Medical, Llc Multi-magnitudinal vectors with resolution based on source vector features
US7908552B2 (en) 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
US9946846B2 (en) 2007-08-03 2018-04-17 A-Life Medical, Llc Visualizing the documentation and coding of surgical procedures
US9208254B2 (en) * 2012-12-10 2015-12-08 Microsoft Technology Licensing, Llc Query and index over documents
US10541053B2 (en) 2013-09-05 2020-01-21 Optum360, LLCq Automated clinical indicator recognition with natural language processing
US10133727B2 (en) 2013-10-01 2018-11-20 A-Life Medical, Llc Ontologically driven procedure coding
US11238056B2 (en) 2013-10-28 2022-02-01 Microsoft Technology Licensing, Llc Enhancing search results with social labels
US10114823B2 (en) 2013-11-04 2018-10-30 Ayasdi, Inc. Systems and methods for metric data smoothing
JP5939583B2 (ja) * 2013-12-13 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 抽出装置、データ処理システム、抽出方法および抽出プログラム
US11645289B2 (en) * 2014-02-04 2023-05-09 Microsoft Technology Licensing, Llc Ranking enterprise graph queries
US9870432B2 (en) 2014-02-24 2018-01-16 Microsoft Technology Licensing, Llc Persisted enterprise graph queries
US11657060B2 (en) 2014-02-27 2023-05-23 Microsoft Technology Licensing, Llc Utilizing interactivity signals to generate relationships and promote content
US10757201B2 (en) 2014-03-01 2020-08-25 Microsoft Technology Licensing, Llc Document and content feed
US10169457B2 (en) 2014-03-03 2019-01-01 Microsoft Technology Licensing, Llc Displaying and posting aggregated social activity on a piece of enterprise content
US10394827B2 (en) 2014-03-03 2019-08-27 Microsoft Technology Licensing, Llc Discovering enterprise content based on implicit and explicit signals
US10255563B2 (en) 2014-03-03 2019-04-09 Microsoft Technology Licensing, Llc Aggregating enterprise graph content around user-generated topics
US10061826B2 (en) 2014-09-05 2018-08-28 Microsoft Technology Licensing, Llc. Distant content discovery
US10148547B2 (en) * 2014-10-24 2018-12-04 Tektronix, Inc. Hardware trigger generation from a declarative protocol description
US10691709B2 (en) 2015-10-28 2020-06-23 Open Text Sa Ulc System and method for subset searching and associated search operators
US10762139B1 (en) * 2016-09-29 2020-09-01 EMC IP Holding Company LLC Method and system for managing a document search index
US10642872B2 (en) * 2016-10-21 2020-05-05 Salesforce.Com, Inc. System for optimizing content queries
CN106951398A (zh) * 2017-03-20 2017-07-14 北京京东尚科信息技术有限公司 信息显示方法和装置
US10747815B2 (en) * 2017-05-11 2020-08-18 Open Text Sa Ulc System and method for searching chains of regions and associated search operators
WO2019006550A1 (en) * 2017-07-06 2019-01-10 Open Text Sa Ulc SYSTEM AND METHOD FOR VALUE-BASED REGION SEARCH AND RELATED SEARCH OPERATORS
US10824686B2 (en) 2018-03-05 2020-11-03 Open Text Sa Ulc System and method for searching based on text blocks and associated search operators
US20200210595A1 (en) * 2018-12-30 2020-07-02 Sze Yuen Wong CryptoJSON Indexed Search Systems and Methods
US11537581B2 (en) * 2019-03-22 2022-12-27 Hewlett Packard Enterprise Development Lp Co-parent keys for document information trees
US11023674B2 (en) * 2019-10-23 2021-06-01 Sap Se Generation and application of object notation deltas
US11688027B2 (en) * 2020-03-20 2023-06-27 Codexo Generating actionable information from documents
US20220156163A1 (en) * 2020-11-13 2022-05-19 Oracle International Corporation Fault tolerance in scale-out distributed query processing appliance
CN112800287B (zh) * 2021-04-15 2021-07-09 杭州欧若数网科技有限公司 基于图数据库的全文索引方法和系统
US11803577B1 (en) * 2021-08-13 2023-10-31 Amazon Technologies, Inc. Parent/child document indexing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101019118A (zh) * 2004-07-13 2007-08-15 谷歌股份有限公司 搜索结果中放置内容排序的个性化
US7657515B1 (en) * 2007-03-30 2010-02-02 Alexa Internet High efficiency document search
US8260784B2 (en) * 2009-02-13 2012-09-04 International Business Machines Corporation Indexing and searching JSON objects

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301314A (en) * 1991-08-05 1994-04-05 Answer Computer, Inc. Computer-aided customer support system with bubble-up
US5404518A (en) * 1991-12-19 1995-04-04 Answer Computer, Inc. System for building a user-determined database of solution documents from queries that fail within it and from the search steps that do provide a solution
US5696963A (en) * 1993-11-19 1997-12-09 Waverley Holdings, Inc. System, method and computer program product for searching through an individual document and a group of documents
US5649023A (en) * 1994-05-24 1997-07-15 Panasonic Technologies, Inc. Method and apparatus for indexing a plurality of handwritten objects
JP3692764B2 (ja) * 1998-02-25 2005-09-07 株式会社日立製作所 構造化文書登録方法、検索方法、およびそれに用いられる可搬型媒体
US6584459B1 (en) * 1998-10-08 2003-06-24 International Business Machines Corporation Database extender for storing, querying, and retrieving structured documents
US6366934B1 (en) * 1998-10-08 2002-04-02 International Business Machines Corporation Method and apparatus for querying structured documents using a database extender
US6993527B1 (en) * 1998-12-21 2006-01-31 Adobe Systems Incorporated Describing documents and expressing document structure
US6510406B1 (en) * 1999-03-23 2003-01-21 Mathsoft, Inc. Inverse inference engine for high performance web search
US6701305B1 (en) * 1999-06-09 2004-03-02 The Boeing Company Methods, apparatus and computer program products for information retrieval and document classification utilizing a multidimensional subspace
JP4115048B2 (ja) * 1999-08-17 2008-07-09 株式会社リコー 文書検索システム
US6990238B1 (en) * 1999-09-30 2006-01-24 Battelle Memorial Institute Data processing, analysis, and visualization system for use with disparate data types
JP2001167087A (ja) * 1999-12-14 2001-06-22 Fujitsu Ltd 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
US20020103809A1 (en) * 2000-02-02 2002-08-01 Searchlogic.Com Corporation Combinatorial query generating system and method
EP1269357A4 (en) * 2000-02-22 2005-10-12 Metacarta Inc SPANISH CODING AND DISPLAYING INFORMATION
US6757646B2 (en) * 2000-03-22 2004-06-29 Insightful Corporation Extended functionality for an inverse inference engine based web search
US6684204B1 (en) * 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
EP1182577A1 (en) * 2000-08-18 2002-02-27 SER Systeme AG Produkte und Anwendungen der Datenverarbeitung Associative memory
US7194461B2 (en) * 2001-03-02 2007-03-20 Hewlett-Packard Development Company, L.P. Document and information retrieval method and apparatus
AUPR796701A0 (en) * 2001-09-27 2001-10-25 Plugged In Communications Pty Ltd Database query system and method
US6847966B1 (en) * 2002-04-24 2005-01-25 Engenium Corporation Method and system for optimally searching a document database using a representative semantic space
US7437349B2 (en) * 2002-05-10 2008-10-14 International Business Machines Corporation Adaptive probabilistic query expansion
WO2003098466A1 (en) * 2002-05-14 2003-11-27 Verity, Inc. Apparatus and method for region sensitive dynamically configurable document relevance ranking
US7016914B2 (en) * 2002-06-05 2006-03-21 Microsoft Corporation Performant and scalable merge strategy for text indexing
AU2003239970A1 (en) * 2002-06-07 2003-12-22 West Publishing Company, Dba West Group Virtual document searching
DE60333238D1 (de) * 2002-06-28 2010-08-12 Nippon Telegraph & Telephone Extrahierung von Information aus strukturierten Dokumenten
US7945581B2 (en) * 2002-11-14 2011-05-17 Lexisnexis Risk Data Management, Inc. Global-results processing matrix for processing queries
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7657540B1 (en) * 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US7152065B2 (en) * 2003-05-01 2006-12-19 Telcordia Technologies, Inc. Information retrieval and text mining using distributed latent semantic indexing
GB0316806D0 (en) * 2003-07-17 2003-08-20 Ivis Group Ltd Improved search engine
US7203679B2 (en) * 2003-07-29 2007-04-10 International Business Machines Corporation Determining structural similarity in semi-structured documents
US7287023B2 (en) * 2003-11-26 2007-10-23 International Business Machines Corporation Index structure for supporting structural XML queries
US20050262053A1 (en) * 2004-05-18 2005-11-24 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for storing and accessing information via smart knowledge agents
US20050289138A1 (en) * 2004-06-25 2005-12-29 Cheng Alex T Aggregate indexing of structured and unstructured marked-up content
US20060053122A1 (en) * 2004-09-09 2006-03-09 Korn Philip R Method for matching XML twigs using index structures and relational query processors
US7440947B2 (en) * 2004-11-12 2008-10-21 Fuji Xerox Co., Ltd. System and method for identifying query-relevant keywords in documents with latent semantic analysis
JP4235604B2 (ja) * 2004-11-22 2009-03-11 キヤノン株式会社 画像処理装置、画像処理方法、ならびにプログラム
US7370061B2 (en) * 2005-01-27 2008-05-06 Siemens Corporate Research, Inc. Method for querying XML documents using a weighted navigational index
US20060179051A1 (en) * 2005-02-09 2006-08-10 Battelle Memorial Institute Methods and apparatus for steering the analyses of collections of documents
JP4314221B2 (ja) * 2005-07-28 2009-08-12 株式会社東芝 構造化文書記憶装置、構造化文書検索装置、構造化文書システム、方法およびプログラム
US20070094250A1 (en) * 2005-10-20 2007-04-26 Yahoo! Inc. Using matrix representations of search engine operations to make inferences about documents in a search engine corpus
US7630992B2 (en) * 2005-11-30 2009-12-08 Selective, Inc. Selective latent semantic indexing method for information retrieval applications
US8005817B1 (en) * 2005-11-30 2011-08-23 At&T Intellectual Property Ii, L.P. System and method for providing structure and content scoring for XML
US8024329B1 (en) 2006-06-01 2011-09-20 Monster Worldwide, Inc. Using inverted indexes for contextual personalized information retrieval
CN100573520C (zh) * 2006-08-29 2009-12-23 国际商业机器公司 为检索对多个文档进行预处理的方法和装置
US7496568B2 (en) * 2006-11-30 2009-02-24 International Business Machines Corporation Efficient multifaceted search in information retrieval systems
US7698295B2 (en) * 2007-03-09 2010-04-13 International Business Machines Corporation Method and apparatus for handling a LET binding
US8276064B2 (en) * 2007-05-07 2012-09-25 International Business Machines Corporation Method and system for effective schema generation via programmatic analysis
US7895189B2 (en) * 2007-06-28 2011-02-22 International Business Machines Corporation Index exploitation
US8086597B2 (en) * 2007-06-28 2011-12-27 International Business Machines Corporation Between matching
US7844633B2 (en) * 2007-09-13 2010-11-30 International Business Machines Corporation System and method for storage, management and automatic indexing of structured documents
US20090210389A1 (en) * 2008-02-20 2009-08-20 Microsoft Corporation System to support structured search over metadata on a web index
US8229921B2 (en) * 2008-02-25 2012-07-24 Mitsubishi Electric Research Laboratories, Inc. Method for indexing for retrieving documents using particles
US8010544B2 (en) * 2008-06-06 2011-08-30 Yahoo! Inc. Inverted indices in information extraction to improve records extracted per annotation
US8832112B2 (en) * 2008-06-17 2014-09-09 International Business Machines Corporation Encoded matrix index
WO2009153793A1 (en) * 2008-06-20 2009-12-23 Technion Research & Development Foundation Ltd. Incremental clustering of indexed xml data
US7953752B2 (en) * 2008-07-09 2011-05-31 Hewlett-Packard Development Company, L.P. Methods for merging text snippets for context classification
US8156120B2 (en) * 2008-10-22 2012-04-10 James Brady Information retrieval using user-generated metadata
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
US8219563B2 (en) * 2008-12-30 2012-07-10 Oracle International Corporation Indexing mechanism for efficient node-aware full-text search over XML
EP2241983B1 (en) * 2009-04-17 2012-12-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for searching objects in a database
US8255394B2 (en) 2009-06-01 2012-08-28 International Business Machines Corporation Apparatus, system, and method for efficient content indexing of streaming XML document content
US8996568B2 (en) * 2009-07-14 2015-03-31 Qualcomm Incorporated Methods and apparatus for efficiently processing multiple keyword queries on a distributed network
US8380570B2 (en) * 2009-10-27 2013-02-19 Yahoo! Inc. Index-based technique friendly CTR prediction and advertisement selection
US8266151B2 (en) * 2009-10-30 2012-09-11 Oracle International Corporationn Efficient XML tree indexing structure over XML content
US10698953B2 (en) * 2009-10-30 2020-06-30 Oracle International Corporation Efficient XML tree indexing structure over XML content
US8200656B2 (en) * 2009-11-17 2012-06-12 International Business Machines Corporation Inference-driven multi-source semantic search
US9183288B2 (en) * 2010-01-27 2015-11-10 Kinetx, Inc. System and method of structuring data for search using latent semantic analysis techniques
US9405820B2 (en) * 2010-02-02 2016-08-02 Technion R&D Foundation Ltd. System and method for parallel searching of a document stream
CA2795128A1 (en) 2010-03-31 2011-10-06 Mediamath, Inc. Systems and methods for integration of a demand side platform
US9652440B2 (en) * 2010-05-27 2017-05-16 Microsoft Technology Licensing, Llc Concurrent utilization of a document by multiple threads
US8566343B2 (en) * 2010-06-02 2013-10-22 Oracle International Corporation Searching backward to speed up query
FR2965952B1 (fr) * 2010-10-06 2013-06-21 Commissariat Energie Atomique Procede de mise a jour d'un index inverse et serveur mettant en oeuvre ce procede
US8442998B2 (en) * 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
KR101296683B1 (ko) * 2011-03-23 2013-08-14 연세대학교 산학협력단 데이터 스트림에서의 다중 조인 질의 처리를 위한 2 페이즈 수행 방법
US20120254189A1 (en) * 2011-03-31 2012-10-04 Biren Narendra Shah Multilevel indexing system
KR101793578B1 (ko) * 2011-04-08 2017-11-20 삼성전자 주식회사 효율적으로 질의를 처리하는 방법 및 장치
US8645388B1 (en) * 2011-06-16 2014-02-04 Emc Corporation Method and system for processing a query
US10061862B2 (en) * 2011-10-01 2018-08-28 Oracle International Corporation Compact tree node representation of an XML document
US10915575B2 (en) * 2012-09-28 2021-02-09 Oracle International Corporation Evaluating XML full text search
US8984019B2 (en) * 2012-11-20 2015-03-17 International Business Machines Corporation Scalable summarization of data graphs
US9208254B2 (en) * 2012-12-10 2015-12-08 Microsoft Technology Licensing, Llc Query and index over documents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101019118A (zh) * 2004-07-13 2007-08-15 谷歌股份有限公司 搜索结果中放置内容排序的个性化
US7657515B1 (en) * 2007-03-30 2010-02-02 Alexa Internet High efficiency document search
US8260784B2 (en) * 2009-02-13 2012-09-04 International Business Machines Corporation Indexing and searching JSON objects

Also Published As

Publication number Publication date
WO2014093248A2 (en) 2014-06-19
US20140164388A1 (en) 2014-06-12
CN105027115A (zh) 2015-11-04
WO2014093248A3 (en) 2014-08-28
US9208254B2 (en) 2015-12-08
EP2929469A2 (en) 2015-10-14

Similar Documents

Publication Publication Date Title
CN105027115B (zh) 对文档的查询和索引
CN109918532B (zh) 图像检索方法、装置、设备及计算机可读存储介质
Fu et al. Toward efficient multi-keyword fuzzy search over encrypted outsourced data with accuracy improvement
JP3648051B2 (ja) 関連情報検索装置及びプログラム記録媒体
JP5721627B2 (ja) データベースストレージスペースを節約するための方法及びシステム
CN101128823A (zh) 根据地理关联索引文档
US20150019592A1 (en) Systems, methods and software for computing reachability in large graphs
US20110106851A1 (en) Listing tune-up system
CN113342976A (zh) 一种自动采集处理数据的方法、装置、存储介质及设备
CN106844407A (zh) 基于数据集相关性的标签网络产生方法和系统
CN108452526A (zh) 游戏故障原因的查询方法和装置、存储介质、电子装置
WO2022134829A1 (zh) 同一用户识别方法、装置、计算机设备和存储介质
CN108334625A (zh) 用户信息的处理方法、装置、计算机设备和存储介质
Xuan et al. Constrained range search query processing on road networks
JP2007025980A5 (zh)
CN107145574A (zh) 数据库数据处理方法、装置及存储介质和电子设备
CN107426610A (zh) 视频信息同步方法及装置
CN102193988A (zh) 一种图形数据库节点数据的检索方法及系统
CN107291930A (zh) 权重数的计算方法
CN105354149B (zh) 一种内存数据查找方法和装置
CN104951550B (zh) 数据存储方法及装置
CA3201938A1 (en) Data reconciliation and inconsistency determination for posted entries
CN110309312B (zh) 一种关联事件获取方法及装置
CN116209992A (zh) 用于信息取回系统的多模态表格编码
CN108268545A (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
GR01 Patent grant
GR01 Patent grant