CN104239395B - 搜索的方法和系统 - Google Patents

搜索的方法和系统 Download PDF

Info

Publication number
CN104239395B
CN104239395B CN201410280881.7A CN201410280881A CN104239395B CN 104239395 B CN104239395 B CN 104239395B CN 201410280881 A CN201410280881 A CN 201410280881A CN 104239395 B CN104239395 B CN 104239395B
Authority
CN
China
Prior art keywords
document
bins
bin
inquiry
multidimensional
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.)
Expired - Fee Related
Application number
CN201410280881.7A
Other languages
English (en)
Other versions
CN104239395A (zh
Inventor
R·A·安巴斯塔
B·加尼施
P·S·戈克哈勒
C·贾因
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN104239395A publication Critical patent/CN104239395A/zh
Application granted granted Critical
Publication of CN104239395B publication Critical patent/CN104239395B/zh
Expired - Fee Related 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

接收包括针对文档集合的多维反向索引的两个或更多面元的查询。每个文档与至少一个面元相关联。生成多维反向索引包括创建一个或多个条目。每个条目包括两个或更多面元的组合以及针对与每个条目的相应面元相关联的文档的指示的发布列表。每个指示标识一个文档。生成索引还包括确定与每个条目的组合中的相应面元相关联的文档。针对具有该查询中所包括的两个或更多面元的组合的条目而搜索多维反向索引,并且返回搜索结果。如果确定了一个文档与该条目的面元的组合中的每个面元相关联,则针对该文档的指示可以被包括在发布列表中。

Description

搜索的方法和系统
技术领域
本公开总体上涉及可以在文档或文档集合的搜索中使用的索引,并且更具体地,涉及可以在多面元(multifaceted)搜索、包括商业智能应用中的多面元搜索中使用的索引。
背景技术
搜索引擎可以被用来定位文档集合中的特定文档。此外,搜索引擎可以被用来定位文档中的特定关键词或短语。搜索引擎可以使用一个或多个索引来定位特定文档、关键词或短语。此外,搜索引擎可以在定位特定信息的过程中执行布尔(Boolean)和其它运算。搜索引擎可能需要大量时间来执行搜索。减少执行搜索所需时间的索引通常是有利的。
发明内容
本公开的实施例提供了一种用于多面元搜索的方法和系统。该方法和系统包括接收查询。该查询包括针对文档集合的多维反向索引的两个或多个面元。该集合中的每个文档与至少一个面元相关联。生成多维反向索引包括:(a)创建一个或多个条目,每个条目包括两个或更多面元的组合;(b)确定与每个条目的两个或更多面元的组合中的相应面元相关联的文档;以及(c)针对与每个条目的相应面元相关联的文档而创建指示的发布列表(posting list),每个指示标识一个文档。除了接收查询之外,该方法和系统包括针对与该查询中所包括的两个或更多面元的组合相匹配的条目而搜素多维反向索引。进一步地,该方法和系统包括返回搜索结果。
在各个实施例中,确定与每个条目的两个或更多面元的组合中的相应面元相关联的文档包括确定一个文档与两个或更多面元中的每个面元相关联。
附图说明
图1图示了依据各个实施例的多面元文档的示例性分类的数据面元。
图2图示了依据各个实施例的多面元文档的示例性分类的发送方面元。
图3图示了依据各个实施例的多面元文档的示例性分类的接收方面元。
图4图示了依据各个实施例的在图1、2和3中所提及的多面元文档的示例性分类。
图5描绘了依据各个实施例的由一个系统所使用的文档记录。
图6是依据各个实施例的用于图4的示例性分类的示例性反向索引。
图7是依据各个实施例的用于图4的示例性分类的示例性多维反向索引。
图8是依据各个实施例的用于图4的示例性分类的示例性多维反向索引。
图9是依据各个实施例的用于图4的示例性分类的示例性多维反向索引。
图10描绘了依据各个实施例的用于生成MD反向索引的过程。
图11是依据各个实施例的计算机系统的框图。
图12描绘了依据各个实施例的用于执行搜索查询的过程。
同样的参考标号和名称在各图中指示同样的要素。
具体实施方式
根据各个实施例,集合中的每个文档与至少一个面元(facet)或类别相关联。计算机系统被配置为针对文档集合存储多维反向索引。计算机系统接收查询。该查询包括多维反向索引的两个或更多面元。该多维反向索引可以随着查询被接收、即每次接收到查询,而递增地生成。如果该索引并不包括与该查询相匹配的条目,则生成新的条目并将其添加至该索引。备选地,该多维反向索引可以在接收查询之前被整体或部分地生成。可以提供多个多维反向索引,其中每个索引包括两个或更多面元的不同组合。计算机系统被配置为针对具有被包括在查询之中或者与该查询相匹配的两个或更多面元的组合的条目而搜索多维反向索引并且返回搜索结果。
多维反向索引包括一个或多个条目。每个条目包括两个或更多面元的组合。此外,每个条目包括指示的发布列表。每个指示标识集合中的一个文档。发布列表是针对与该条目的面元的组合中的相应面元相关联的文档的指示的列表。因此,生成多维反向索引包括确定哪些文档与每个条目的两个或更多面元的组合中的相应面元相关联。
在各个实施例中,文档可以通过并集、交集或对称差集类型关联而与条目的面元组合中的相应面元相关联。
有利地,具体实施方式中所公开的实施例可以结合各种商业智能应用来使用。作为一个示例,所公开的实施例可以被用作用于应答多维分析查询的在线分析处理应用的一部分。
图4图示了依据各个实施例的多面元文档的示例性分类400。分类400包括虚拟根节点402、面元120、面元220、面元320和面元404。在该示例中,文档是电子邮件文档。面元120、220和320分别是日期、发送方和接收方面元或类别。面元404可以是指示文档是否包括附件文档的二进制指示符。此外,面元404可以是附件类型或大小类别。进一步关于图1、2和3对面元120、220和320的子类别进行描述。示例性分类400可以包括另外的面元。
虽然图1-4中的示例中的文档是电子邮件文档,但是该具体实施方式中所描述的原理可以随任意适当类型的虚拟或物理文档而使用。例如,这些文档可以是商业产品的说明书、科研文章、生物机体说明书、专利申请或者病理描述。另外,虽然该具体实施方式中所给出的示例索引涉及到日期、发送方、接收方面元,但是对于对文档进行归类有用或有帮助的分类数据库中所存储的任意文档中所包含的信息的任意属性可以依据各个实施例而被指定为面元。
面元可以被用来对文档(或者一个或多个文档内的单词或短语)的集合进行归类。如以下进一步描述的,面元可以是类别的层级,其可以由树形结构来表示,该树形结构通过面元或类别并且可选地通过面元内的一个或多个子类别而对项目进行归类。利用面元对对象进行归类允许这些对象以多种方式被排序。用于文档集合的面元可以基于在任意时刻表现为有用的组织而在该时刻被确定。如果另外的面元随后被发现是有用的,则它们在后续可以被添加至初始面元集合。用于特定文档集合的面元可以使用任何已知方法来标识或确定。
图1图示了依据各个实施例的多面元文档的示例性分类400的数据面元120。数据面元120包括“日期”根122以及通过年份2010和2011(附图标记126、128)对文档进行归类的两个面元。2010年份类别下的子类别包括季度Q1和Q2(附图标记130、132)。2011年份类别下的子类别是季度Q3和Q4(附图标记134、136)。针对每个季度子类别提供各个月份子类别。一月、二月和三月子类别(附图标记138、140、142)提供在2010的季度Q1下。五月和六月子类别(附图标记144、146)提供在2010的季度Q2下。八月和九月子类别(附图标记148、150)提供在2011的季度Q3下。十二月子类别(附图标记152)提供在2011的季度Q4下。
每个类别或子类别可以被称作节点并且可以通过序数进行标识。例如,日期根节点122可以由序数5所标识。作为另一个示例,2011的子类别节点148的八月可以由序数16所标识。序数可以被用来指定去向文档的路径。
文档集合中的文档D1、D2、D3、D4、D5、D6、D7、D8、D9、D10、D11和D12(分别为附图标记174、162、168、156、164、158、170、176、160、154、166和172)利用将文档连接至与该文档的日期相关联的月份节点的线条来示出。例如,文档D10 154包含2010年一月中的日期,例如创建日期。文档D10通过线条与2010一月的节点138相连接。
在图1所示的树中,数据面元120并不包括年份2010和2011的每个月份或每个季度。相反,数据面元120仅包括对12个示例性文档进行归类所需的子类别。为了方便图示,该树以非完全的形式进行描绘。如果具有2010年十月中的日期的第十三个文档被添加至该示例,则附加的季度和月份节点将被添加至日期面元120。在各个示例中,面元可以由完整或非完全的树所表示。类似地,在该具体实施方式中所描述的其它面元可以省略对示例性文档进行归类所不需要的子类别。
图2图示了依据各个实施例的多面元文档的示例性分类的发送方面元。发送方面元220包括“来自”(“from”)根222以及四个面元,这四个面元通过四个发送方Rob、Bob、Bill和Jack(附图标记分别为224、226、228和230)之一对示例性文档进行归类。与日期面元120相同,每个节点可以由序数进行标识。文档D1-D12(附图标记154-176)利用将文档连接至与该文档的发送方相关联的发送方节点的线条所示出。例如,文档D2 162包含发送方姓名Jack(节点230)。文档D2通过线条与节点230相连接。
图3图示了依据各个实施例的多面元文档的示例性分类的接收方面元。接收方面元320包括“去往”(“to”)根322以及四个面元,这四个面元通过接收方Rob、Bob、Bill和Jack(附图标记分别为324、326、328和330)对文档进行归类。与日期面元120相同,每个节点可以由序数进行标识。文档D1-D12(附图标记154-176)利用将文档连接至与该文档的接收方相关联的接收方节点的线条所示出。例如,文档D8 176包含接收方姓名Bill(节点328)。文档D8通过线条与节点328相连接。
图1-3图示了文档能够包括在多个面元中。例如,图1示出了文档D1被包括在面元126(日期/2010)、130(日期/2010/Q1)和138(日期/2010/Q1/一月)中。图2示出了文档D10被包括在面元230(来自/JACK)中。图3示出了文档D10被包括在面元326(去往/BOB)中。
图5描绘了依据各个实施例的可以被计算机系统1100所使用的文档记录520。计算机系统1100参考图11进行描述。针对文档集合中的每个文档,系统1100可以具有文档记录520。例如,可以针对示例性文档D1-D12 154-176中的每一个创建唯一的文档记录520。文档记录520可以在新文档被添加至集合时被创建。在各个实施例中,文档记录520包括特定文档的标识符、例如D12,以及与该文档相关联的各个面元的值。例如,文档D12包括具有值“Jack”的“来自”面元,具有值“Rob”的“去往”面元,以及具有值“2011/Q3/八月”的“日期”面元。文档D12可以包括另外的面元。在各个实施例中,文档记录520包括与该文档相关联的面元的相关信息,其在图5中被表示为“内容”。
反向索引可以包括用来对文档集合进行归类的面元的词表,其在本领域中可以被称作记录级反向索引。此外,反向索引可以包括出现在文档或文档集合中的各种术语或短语的词表,其在本领域中可以被称作单词级反向索引。词表中的术语可以被称作“索引术语”。可以针对每个索引术语创建反向列表,即可以针对每个面元、每个术语或短语或者其二者创建反向列表。索引术语可以以诸如B树的数据结构进行排列。图1-4是其中索引术语是面元的树形结构的示例。反向列表还包括一个或多个发布,其中每个发布标识集合中的一个或多个文档。发布可以包括附加信息。例如,在记录级反向索引的情况下,发布可以包括面元中文档的数量。在单词级反向索引的情况下,发布可以包括文档中索引术语的频率。
图6是依据各个实施例的用于图4的示例性分类400的示例性记录级的一维反向索引620。反向索引620将每个面元与示例性文档集合中的文档的发布列表相关联。反向索引620包括单个面元栏,其列出了图1-3中所图示面元的每个类别和子类别,即来自、去往和日期。在一个实施例中,反向索引620可以包括另外的面元及其相应的类别和子类别,诸如面元404。作为示例,图6的示例中包括另外的面元“日期/2011/Q4/十一月”。此外,反向索引620包括发布列表栏。发布列表中的每个条目标识出与特定面元相关联的文档。例如,“来自/BOB”面元将文档D6、D7、D8和D9标识为与该面元相关联。如果没有任何与特定面元相关联的文档,则发布列表还包括空集指示符{}。例如,没有文档与“日期/2011/Q4/十一月”面元相关联。
搜索查询可以包括一个或多个术语并且可以包括一个或多个布尔算子。搜索术语可以是索引术语或非索引的单词或短语。搜索查询中的术语可以通过将它们键入到用户界面中的搜索框中或搜索行上而被指定。此外,搜索查询可以通过在用户界面中选择索引术语、例如通过选中与特定面元相关联的框而被指定。
对搜索查询进行评估的搜索引擎1152(图11)针对该查询中所包括的每个索引术语对反向索引620进行一次遍历。搜索引擎可以从上至下(或者从下至上,或者使用搜索算法)遍历反向索引620直至找到特定类别或子类别。例如,考虑查询:“面元:日期/2011/Q3/九月”。可以从顶部对反向索引620进行遍历直至找到该面元。该查询返回文档D1。
搜索查询可以包括两个或更多面元以及布尔AND算子。具有两个或更多索引的搜索查询在该具体实施方式和权利要求中可以被称作“多面元”搜索查询。对多面元搜索查询进行评估可以要求对反向索引、诸如索引620进行多次遍历,例如,每次针对一个面元,并且返回多个搜索结果。此外,对多面元搜索查询进行评估可以要求对所返回的多个搜索结果执行布尔运算。例如,考虑搜索查询:“面元:日期/2010/Q1/二月和面元:来自/BILL”。反向索引620首先被遍历以获得与“日期/2010/Q1/二月”面元的条目相关联的文档{D4、D6、D9}的第一搜索结果(箭头624)。接下来对反向索引620进行遍历以获得与“来自/BILL”面元的条目相关联的文档{D3、D4、D5}的第二搜索结果(箭头622)。对第一和第二搜索结果应用布尔AND算子以获得两个搜索结果的交集并且形成最终搜索结果{D4}。
可以预见到使用反向索引620对多面元搜索查询进行评估所需的处理时间随着查询中所包括的索引术语以及查询中所包括的布尔运算的数量的增加而增加。通常并不期望用于评估搜索查询的处理时间过长。
图7是依据各个实施例的用于图4的示例性分类400的示例性记录级多维(“MD”)反向索引720。反向索引720将两个面元与示例性文档集合中的文档的发布列表相关联。MD反向索引720中的每个条目包括列出面元的组合的字段。具体地,该字段列出图2所示的“来自”面元的各个子类别以及图1中所示的“日期”面元的类别和子类别。此外,MD反向索引720包括发布列表字段,其包括标识出与面元组合相关联的文档的文档标识符列表。具体地,该发布列表字段标识出相关联的“来自”和“日期”面元的发布列表的交集中的文档。例如,箭头724标识出组合“来自/BILL”和“日期/2010/Q1/二月”的条目。该条目将D4标识为与这两个面元的发布列表的交集相关联。此外,MD反向索引720中的每个条目可以包括列出定量汇总或者定性汇总的字段(未示出),定量汇总诸如发布列表中的文档的字段上的数字汇总,定性汇总诸如被应用于与文档相关联的元数据属性的算术或布尔运算。
在各个实施例中,MD反向索引中的每个条目包括将文档与两个或更多面元相关联的发布列表字段。此外,发布列表中的文档,如果存在的话,通过成为特定类型的集合的成员而与该条目的两个或更多相关联面元相关。例如,对于两个面元A和B而言:该集合可以是作为与A和B相关联的文档的交集的集合;该集合可以是作为与A和B相关联的文档的并集的集合;或者该集合可以是作为与A和B相关联的文档的对称差集的集合。因此,在各个实施例中,可以执行操作以确定与多面元索引中的特定条目的一个或多个面元的组合中的相应面元相关联的文档。该确定操作可以包括确定文档与两个或多个面元中的每个面元相关联,即交集。此外,该确定操作可以包括确定文档与两个或更多面元中的至少一个面元相关联,即并集。另外,该确定操作可以包括确定文档与两个或更多面元中的仅一个面元相关联,即对称差集。
索引720的搜索在列出面元组合的字段上执行。由搜索引擎1152使用二维MD反向索引而执行的搜索可以在索引顶端(或底部)开始并且进行遍历(或者其它方式的搜索)直至找到与搜索查询中所指定的“来自”和“日期”面元的索引术语相匹配的条目。例如,考虑以上反向索引620的示例中所使用的相同的多面元搜索查询“面元:日期/2010/Q1/二月和面元:来自/BILL”。在图7中,对MD反向索引720进行搜索直至找到与索引术语“来自/BILL”和“日期/2010/Q1/二月”相匹配的条目(箭头722)。该搜索返回文档D4。
以上关于图6的示例说明了示例性多面元搜索查询需要对反向索引620的两次搜索,随后跟有对两个搜索结果的布尔运算的执行。与之相比,以上关于图7的示例则说明了相同的示例性多面元搜索查询需要对MD反向索引720进行单次搜索而无需布尔运算。无论搜索查询中包括一个还是两个索引术语,预见到使用MD反向索引720对多面元搜索查询进行评估所需的处理时间都大约为相同数量的处理时间。此外,预见到使用MD反向索引720的多面元搜索查询与使用反向索引620的相同多面元搜索相比会花费较少的处理时间。
图8是依据各个实施例的用于图4的示例性分类400的示例性记录级多维(“MD”)反向索引820。反向索引820中的每个条目将两个面元(“来自”和“去往”)的组合与示例性文档集合中的文档的发布列表相关联。MD反向索引820中的每个条目包括列出这两个面元的组合的字段。具体地,该字段列出图2所示的“来自”面元的各个子类别以及图3所示的“去往”面元的各个子类别。此外,MD反向索引820包括发布列表字段,其包括标识出与面元组合相关联的文档的文档标识符列表。具体地,该发布列表字段标识出相关联的“来自”和“去往”面元的发布列表的交集中的文档。例如,一对面元“来自/ROB”和面元“去往/BILL”(箭头822)将文档D1标识为与这两个面元的发布列表的交集相关联。此外,MD反向索引820中的每个条目可以包括列出定量汇总或者定性汇总的字段(未示出),定量汇总诸如发布列表中的文档的字段上的数字汇总,定性汇总诸如被应用于与文档相关联的元数据属性的算术或布尔运算。
索引820的搜索在列出面元组合的字段上执行。使用MD反向索引820的多面元搜索查询可以由搜索引擎1152以与针对MD反向索引720所描述的类似方式来执行。例如,考虑具有以下索引术语的多面元搜索查询:“面元:去往/ROB和面元:来自/JACK”。作为预备步骤,该查询可以被规范化,以使得索引术语对应于与MD反向索引820的字段中的面元相同的顺序。由于搜索查询首先列出与MD反向索引820的“去往”相对应的“去往”面元,所以该搜索查询可以被如下重新排序:“面元:来自/JACK和面元:去往/ROB”。在图8中,可以对MD反向索引820进行遍历(或以其它方式搜索)直至找到索引术语“来自/JACK”和“去往/ROB”。在一个实施例中,遍历或搜索可以包括使用例如指针、链表等的各种方法而跳过一个或多个条目。该搜索返回文档D2和D12。
关于图8的以上示例说明了一种要求对MD反向索引820进行单次搜索且无需布尔运算的示例性多面元搜索查询。无论是考虑到搜索查询中包括一个还是两个索引术语,可以预见到使用MD反向索引820对多面元搜索查询进行评估所需的处理时间都大约为相同量的处理时间。此外,预见到使用MD反向索引820的多面元搜索查询与使用反向索引620的相同多面元搜索相比会花费较少的处理时间。
图9是依据各个实施例的用于图4的示例性分类400的示例性记录级多维(“MD”)反向索引920的一部分。反向索引920中的每个条目将三个面元(来自、日期和去往)的组合与示例性文档集合中的文档的发布列表相关联。MD反向索引920包括列出面元组合的字段。具体地,该字段列出图2所示的“来自”面元的各个子类别、图1所示的“日期”面元的各个子类别、以及图3所示的“去往”面元的各个子类别。此外,MD反向索引920包括发布列表栏,其标识出相关联的“来自”、“日期”和“去往”面元的发布列表的交集中的文档。例如,来自/BOB、日期/2010/Q1/二月和去往/JACK的三元组合的条目(箭头922)将文档D6和D9标识为与这三个面元的发布列表的交集相关联。图9中针对“来自”面元的BOB子类别示出了所有的“日期”和“去往”子类别。然而,图9中并未示出“来自”面元1的ROB、BILL和JACK的“日期”和“去往”子类别,这是因为虽然MD反向索引920包括这些元素,但是图中没有足够的可用空间。此外,MD反向索引920中的每个条目可以包括列出定量汇总或者定性汇总的字段(未示出),定量汇总诸如发布列表中的文档的字段上的数字汇总,定性汇总诸如被应用于与文档相关联的元数据属性的算术或布尔运算。
索引920的搜索在列出面元组合的字段上执行。使用MD反向索引920的多面元搜索查询可以由搜索引擎1152以与针对MD反向索引720和820所描述的类似方式来执行。例如,考虑具有以下索引术语的多面元搜索查询:“面元:来自/BOB和面元:日期/2011/Q4/十二月和面元:去往/BILL”。在图9中,对MD反向索引920进行遍历(或以其它方式搜索)直至找到与这些索引术语相匹配的条目(箭头924)。该搜索返回文档D8。
以上关于图9的示例说明了一种要求对MD反向索引920进行单次搜索且无需布尔运算的示例性多面元搜索查询。无论是考虑到搜索查询中包括一个还是两个甚至三个索引术语,可以预见到使用MD反向索引920对多面元搜索查询进行评估所需的处理时间都大约为相同量的处理时间。此外,预见到使用MD反向索引920的多面元搜索查询与使用反向索引620的相同多面元搜索相比会花费较少的处理时间。
示例性MD反向索引720、820和920是其中发布列表标识出与MD反向索引中的多个面元中的每个面元的发布列表的交集相关联的文档的示例。在备选实施例中,MD反向索引的发布列表可以标识出与MD反向索引中的两个或更多类别或子类别中的每一个的发布列表的并集相关联的文档,即处于任意一个类别或子类别中或者处于多于一个的类别或子类别中的文档的集合。在又另一个备选实施例中,MD反向索引的发布列表可以标识出与两个或更多类别或子类别的对称差集相关联的文档,即处于类别或子类别之一中但并不处于它们的交集中的文档集合。
示例性MD反向索引720、820和920是记录级反向索引的示例,即索引术语是面元。在备选实施例中,MD反向索引可以是其中索引术语是单词或短语的单词级反向索引。
图10描绘了依据各个实施例的用于生成MD反向索引的过程1000。到来的文档由索引构建器1150(见图11)所接收并且一个或多个单维反向索引可以被生成。过程1000以操作1002开始,在操作1002中创建条目。每个条目包括具有两个或更多面元的组合的字段。在操作1004中,索引构建器1150确定哪些文档与每个条目的两个或更多面元的组合中的相应面元相关联。索引构建器在操作1006中针对与每个条目的相应面元相关联的文档创建指示的发布列表。此外,操作1006可以包括确定与该文档相关联的定量或定性汇总。该索引构建器可以将汇总存储在条目的汇总字段中。
图12描绘了依据各个实施例的用于执行搜索查询的过程1200。搜索查询可以包括一个或多个索引术语。备选地,搜索查询可以包括一个或多个索引术语以及一个或多个非索引术语。在操作1202中,搜索查询可以由搜索引擎1152所接收。在操作1204中,可以对搜索查询中的任意索引术语进行规范化,即重新排序以符合一个或多个MD索引所使用的格式。在操作1206中,可以标识一个或多个用于搜索的索引。如果搜索查询包括单个索引术语,则可以在操作1206中标识出反向索引、诸如反向索引620(图6)。如果搜索查询包括两个或更多的索引术语,则可以在操作1206中标识出MD反向索引、诸如MD反向索引720、820或920(图7、8或9)。在操作1208中,对所选择的索引进行搜索直至找出匹配。在操作1210中,搜索引擎1152可以向用户返回搜索结果。
过程1200生成可以不包括文档或者包括一个或多个文档的搜索结果。在完成过程1200之后可以对搜索结果中所找到的任意文档的内容进行搜索。作为一个示例,可以针对非索引术语或短语的出现而对搜索结果中所找到的文档进行搜索。
图11描绘了用于实施各个实施例的示例性计算机系统1100的高级框图。本文中所公开的各个实施例的机制和装置等同地应用于任意适当的计算系统。计算机系统1100的主要组件包括一个或多个处理器1102、存储器1104、终端接口1112、存储接口1114、I/O(输入/输出)设备接口1116和网络接口1118,所有这些都经由存储器总线1106、I/O总线1108、总线接口单元1109和I/O总线接口单元1110而直接或间接地通信耦合以便进行组件间的通信。
计算机系统1100可以包含一个或多个通用可编程中央处理单元(CPU)1102A和1102B,它们在本文中被统称为处理器1102。在一个实施例中,计算机系统1100可以包含多个处理器;然而,在另一个实施例中,计算机系统1100备选地可以为单CPU系统。每个处理器1102执行存储在存储器1104中的指令并且可以包括一个或多个级别的机载高速缓存。
在一个实施例中,存储器1104可以包括用于存储或编码数据和程序的随机访问半导体存储器、存储设备或存储介质(易失性或非易失性)。在另一个实施例中,存储器1104表示计算机系统1100的整个虚拟存储器,并且还可以包括耦合至计算机系统1100或经由网络连接的其它计算机系统的虚拟存储器。存储器1104在概念上是单个单片电路实体,但是在其它实施例中,存储器1104是更为复杂的部署形式,诸如高速缓存和其它存储器设备的层级。例如,存储器可以存在于多级高速缓存中,并且这些高速缓存可以进一步以功能进行划分,从而使得一个高速缓存保存指令而另一个则保存由一个或多个处理器所使用的非指令数据。如在各种所谓非统一存储器方位(NUMA)计算机架构中的任意架构中所已知的,存储器可以进一步分布并且与不同CPU或CPU集合相关联。
存储器1104可以存储以下的全部或部分:索引构建器1150、搜索引擎1152、索引库1154和文档库1156。这些程序和数据结构被图示为包括在计算机系统1100的存储器1104内,然而在其它实施例中,它们中的一些或全部可以处于不同计算机系统上并且例如可以经由网络而被远程访问。计算机系统1100可以使用虚拟寻址机制,其允许计算机系统1100的程序表现为如同它们具有对大型的单个存储实体进行访问而不是对多个较小的存储实体的访问。因此,虽然索引构建器1150、搜索引擎1152、索引库1154和文档库1156被图示为被包括在存储器1104内,但是这些组件并非必然都完全同时被包含在相同的存储设备之中。另外,虽然索引构建器1150、搜索引擎1152、索引库1154和文档库1156被图示为单独的实体,但是在其它实施例中,它们中的一些、它们中的一些的一部分或者它们中的全部都可以被封装在一起。
在一个实施例中,索引构建器1150和搜索引擎1152可以包括在处理器1102上执行的指令或语句或者由在处理器1102上执行的指令或语句所解释的指令或语句以执行如以下进一步描述的功能。在另一个实施例中,替代基于处理器的系统或者除此之外,索引构建器1150和搜索引擎1152经由半导体器件、芯片、逻辑门、电路、电路卡和/或其它物理硬件设备而以硬件实施。在一个实施例中,除指令和语句之外,索引构建器1150和搜索引擎1152可以包括数据。
根据各个实施例,索引构建器1150可以包括生成一个或多个MD反向索引的各种处理。根据各个实施例,搜索引擎1152可以包括对反向索引或MD反向索引进行搜索的各种处理。根据各个实施例,索引库1154可以包括一个或多个反向索引以及一个或多个MD反向索引。例如,索引库1154可以包括反向索引620以及MD反向索引720、820、920。此外,文档库可以包括两个或更多文档。例如,文档库1156可以包括文档D1-D12。
计算机系统1100可以包括总线接口单元1109,以对处理器1102、存储器1104、显示系统1124和I/O总线接口单元1110之间的通信进行处理。I/O总线接口单元1110可以与I/O总线1108相耦合,以便往来于各种I/O单元传输数据。I/O总线接口单元1110通过I/O总线1108与多个I/O接口单元1112、1114、1116和1118进行通信,它们也被称作I/O处理器(IOP)或I/O适配器(IOA)。显示系统1124可以包括显示控制器、显示存储器或其二者。显示控制器可以向显示设备1126提供视频、音频或这两种类型的数据。显示存储器可以是用于缓冲视频数据的专用存储器。显示系统1124可以与显示设备1126进行耦合,显示设备1126诸如独立显示屏、计算机监视器、电视或者平板或手持设备显示器。在一个实施例中,显示设备1126可以包括一个或多个用于呈现音频的扬声器。备选地,一个或多个用于呈现音频的扬声器可以与I/O接口单元相耦合。在备选实施例中,显示系统1124所提供的一个或多个功能可以承载在还包括处理器1102的集成电路上。此外,总线接口单元1109所提供的一个或多个功能可以承载在还包括处理器1102的集成电路上。
I/O接口单元支持与各种存储和I/O设备的通信。例如,终端接口单元1112支持一个或多个用户I/O设备1120的接合,后者可以包括用户输出设备(诸如视频显示设备、扬声器和/或电视机)和用户输入设备(诸如键盘、鼠标、小键盘、触摸板、轨迹球、按钮、光笔或其它指示设备)。用户可以使用用户界面对用户输入设备进行操控以便向用户I/O设备1120和计算机系统1100提供输入数据和命令,并且可以经由用户输出设备接收输出数据。例如,用户界面可以经由用户I/O设备1120所呈现,诸如在显示设备上进行显示、经由扬声器播放或者经由打印机进行打印。
存储接口1114支持一个或多个磁盘驱动器或直接访问存储设备1122(其通常为旋转的磁盘驱动器存储设备,虽然它们备选地可以是其它存储设备,包括被配置为针对主机计算机表现为单个大型存储设备的磁盘驱动器阵列、或者诸如闪存的固态驱动器)的接合。在另一个实施例中,存储设备1122可以经由任意类型的二级存储设备来实施。存储器1104的内容或者其任意部分可以按照需要被存储到存储设备1122或者从其获取。I/O设备接口1116针对任意的各种其它I/O设备或者诸如打印机或传真机的其它类型的设备提供接口。网络接口1118提供从计算机1100到其它数字设备和计算机系统的一条或多条通信路径;这些通信路径例如可以包括一个或多个网络。
虽然图11所示的计算机系统1100图示了在处理器1102、存储器1104、总线接口1109、显示系统1124和I/O总线接口单元1110之间提供直接通信路径的特定总线结构,但是在备选实施例中,计算机系统1100可以包括不同的总线或通信路径,它们可以以任意的各种形式进行部署,诸如层级、星形或网状配置中的点对点链接、多层总线、并行和冗余路径,或者任意其它适当类型的配置。此外,虽然I/O总线接口单元1110和I/O总线1108被示为单个相应单元,但是计算机系统1100实际上可以包含多个I/O总线接口单元1110和/或多个I/O总线1108。虽然示出了将I/O总线1108与延伸至各个I/O设备的各种通信路径分隔开来的多个I/O接口单元,但是在其它实施例中,一些或所有I/O设备直接连接至一个或多个系统I/O总线。
在各个实施例中,计算机系统1100是多用户大型计算机系统、单用户系统,或者具有很少或没有直接用户界面但是从其它计算机系统(客户端)接收请求的服务器计算机或类似设备。在其它实施例中,计算机系统1100可以被实施为台式计算机、便携式计算机、膝上或笔记本计算机、平板计算机、便携式计算机、电话、智能电话或者任意其它适当类型的电子设备。
图11意在描绘出计算机系统1100的代表性的主要组件。然而,个体组件可以比图11所表示的具有更大复杂度,可以存在于图11所示的那些不同或者除那些之外的组件,并且这样的组件的数量、类型和配置可以有所变化。本文公开的附加复杂度或附加变化形式的若干特定示例;这些仅是作为示例而并非必然仅为这样的变化。在各个实施例中,图11所示的各种程序组件可以以多种不同方式来实施,包括使用各种计算机应用、例程、组件、程序、对象、模块、数据结构等,它们在本文中可以被称作“软件”、“计算机程序”或者简单地被称作“程序”。
在上文中,对各个实施例进行了参考。然而,应当理解的是,本公开并不局限于具体描述的实施例。相反,无论是否涉及不同实施例,所描述特征和要素的任意组合都被预期为对本公开加以实施和实践。许多修改和变化对于本领域技术人员而言将是显而易见的而并不背离所描述实施例的范围和精神。此外,虽然本公开的实施例可以实现优于其它可能的解决方案或优于现有技术的优势,但是给定实施例是否实现特定优势并不为本公开所限制。因此,所描述的方面、特征、实施例和优势仅是说明性的而并非被认为是所附权利要求的要素或限制,除非在(多个)权利要求中被明确引用。
如本领域技术人员将会意识到的,本公开的各方面可以被体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采用完全硬件的实施例、完全软件的实施例(包括固件、驻留软件、微代码等)或者在本文中全部都被统称为“电路”、“模块”或“系统”的将软件和硬件方面相结合的实施例的形式。此外,本公开的各方面可以采取体现在具有记录于其上的计算机可读程序代码的一个或多个计算机可读介质之中的计算机程序产品的形式。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是电子、磁性、光学、电磁、红外或半导体系统、装置或设备,或者它们的任意适当组合,但是并不局限于此。计算机可读存储介质的更为具体的示例(非穷举的列表)将包括以下:具有一个或多个连线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧密盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备或者其任意适当组合。在本公开的上下文中,计算机可读存储介质可以是能够包含或存储程序以便由指令执行系统、装置或设备所适用或者结合它们使用的任意有形介质。
计算机可读信号介质可以包括具有例如在基带中或作为载波的一部分而记录于其中的计算机可读程序代码的传播数据信号。这样的传播信号可以采用各种形式,包括但并不局限于电磁、光学或者其任意适当组合。计算机可读信号介质可以是并非计算机可读存储介质并且能够通信、传播或传输程序以便由指令执行系统、装置或设备所适用或者结合它们使用的任意计算机可读介质。
记录在计算机可读介质上的程序代码可以使用任意适当介质进行传送,包括但并不局限于无线、有线、光纤线缆、RF等它们的任意适当组合。
用于执行本公开各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合进行编写,包括:诸如Java、Smalltalk、C++等的面向对象编程语言;以及诸如“C”编程语言或类似编程语言的常规过程编程语言。程序代码可以如本文中所具体描述的那样执行。此外,程序代码可以完全在观看者的计算机上执行,作为独立软件包部分在观看者的计算机上执行,部分在观看者的计算机上执行且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任意类型的网络连接至观看这的计算机,包括局域网(LAN)或广域网(WAN),或者可以(例如,使用互联网服务提供商而通过互联网)形成到外部计算机的连接。
已经根据本公开的实施例参考方法、装置(系统)和计算机程序的流程图、框图或者其二者对本公开的各方面进行了描述。将要理解的是,流程图图示或框图中的每个框以及流程图图示或框图中框的组合可以由计算机程序指令来实施。这些计算机程序指令可以被提供至通用计算机、专用计算机或者其它可编程数据处理装置的处理器以生产机器,而使得经由计算机或其它可编程数据处理装置的处理器执行的指令形成用于实施流程图或框图的一个或多个框中所指定的功能或动作的器件。
这些计算机程序指令还可以存储在计算机可读介质中,其能够指示计算机、其它可编程数据处理装置或其它设备已特定方式进行工作而使得存储在计算机可读介质中的指令产生包括实施流程图或框图的一个或多个框中所指定的功能或动作的指令的制造品。
计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上以使得在该计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,而使得在该计算机或其它可编程装置上执行的指令提供用于实施流程图或框图的一个或多个框中所指定的功能或动作的处理。
根据本公开的实施例可以通过云计算架构而被提供至终端用户。云计算通常是指提供可扩展的计算资源作为网络上的服务。更正式地,云计算可以被定义为在计算资源及其基本技术架构(例如,服务器、存储、网络)之间提供抽象概念,支持针对可配置计算资源的共享池的方便的按需网络访问的计算能力,上述可配置计算资源能够以最少的管理工作或服务提供商交互快速提供和发布。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用甚至虚拟化的计算系统),而不考虑用来提供该计算资源的基本物理系统(或者那些系统的位置)。
通常,云计算资源以按使用付费的基础被提供至用户,其中用户进针对实际使用的计算资源而被收费(例如,用户所使用的存储空间数量或者用户所例示的虚拟化系统的数量)。用户能够互联网在任意时间以及从任意地方访问存在于云中的任意资源。在本公开的上下文中,用户可以访问云中可用的应用或相关数据。例如,用来创建流计算应用的节点可以是云服务提供商所运营的虚拟机。这样做允许用户从附接到与云相连接的网络(例如,互联网)的任意计算系统访问该信息。
附图中的流程图和框图图示了根据本公开各个实施例的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。就此而言,流程图或框图中的每个框可以表示代码的模块、分段或部分,其包括用于实施所指定的(多个)逻辑功能的一个或多个可执行指令。还应当注意的是,在一些备选实施方式中,框中所提到的功能可以以不同于图中所提到的顺序而进行。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反顺序来执行。还将要注意的是,框图或流程图的每个框以及框图或流程图中框的组合能够由执行指定功能或动作的专用的基于硬件的系统来实施,或者由专用硬件和计算机指令的组合来实施。
虽然上文涉及到示例性实施例,但是可以设计出本发明的其它和另外的实施例而并不背离其基本范围,并且其范围由随后的权利要求所限定。

Claims (12)

1.一种搜索的方法,包括:
接收查询,所述查询包括针对文档集合的一个多维反向索引的两个或更多面元,每个文档与至少一个面元相关联,其中,所述查询进一步包括一个或多个非索引术语;
其中所述多维反向索引通过以下而生成:
创建一个或多个条目,每个条目包括两个或更多面元的组合,
确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档,以及
针对与每个条目的相应面元相关联的所述文档而创建指示的发布列表,每个指示标识一个文档;
确定所述多维反向索引的格式,其中,所述格式包括所述多维反向索引中的两个或更多面元的顺序;
规范化所述查询,以符合所述多维反向索引的格式,其中,所述规范化包括对所述查询中的两个或多个面元重新排序,重新排序的两个或多个面元与所述多维反向索引中的两个或多个面元具有相同的顺序;
针对具有所述查询中所包括的两个或更多面元的所述组合的条目而搜索所述多维反向索引;
基于对所述多维反向索引的搜索,识别具有在所述查询中包括的两个或多个面元的组合的一组文档;
针对所述一个或多个非索引术语搜索所述一组文档;
产生搜索结果,其中,所述搜索结果仅包括所述一组文档中的包括所述一个或多个非索引术语的文档;以及
返回搜索结果。
2.根据权利要求1所述的方法,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档与所述两个或更多面元中的每个面元相关联。
3.根据权利要求1所述的方法,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档与所述两个或更多面元中的至少一个面元相关联。
4.根据权利要求1所述的方法,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档与所述两个或更多面元中的仅一个面元相关联。
5.根据权利要求1所述的方法,进一步包括:基于所述查询中所包括的所述两个或更多面元而从针对所述文档集合的第一和第二多维反向索引中选择针对所述文档集合的所述多维反向索引。
6.根据权利要求1所述的方法,其中所述多维反向索引中的所述一个或多个条目中的至少一个条目在接收所述查询之前被生成。
7.一种用于搜索的系统,包括:
索引构建器,用于通过以下而生成针对文档集合的一个多维反向索引,每个文档与至少一个面元相关联:
创建一个或多个条目,每个条目包括两个或更多面元的组合,
确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档,以及
针对与每个条目的相应面元相关联的所述文档而创建指示的发布列表,每个指示标识一个文档;以及
搜索引擎,用于:
接收包括所述多维反向索引的两个或更多面元的查询,其中,所述查询进一步包括一个或多个非索引术语,
确定所述多维反向索引的格式,其中,所述格式包括所述多维反向索引中的两个或更多面元的顺序,
规范化所述查询,以符合所述多维反向索引的格式,其中,所述规范化包括对所述查询中的两个或多个面元重新排序,重新排序的两个或多个面元与所述多维反向索引中的两个或多个面元具有相同的顺序,
针对具有所述查询中所包括的两个或更多面元的所述组合的条目而搜索所述多维反向索引,
基于对所述多维反向索引的搜索,识别具有在所述查询中包括的两个或多个面元的组合的一组文档,
针对所述一个或多个非索引术语搜索所述一组文档,
产生搜索结果,其中,所述搜索结果仅包括所述一组文档中的包括所述一个或多个非索引术语的文档,以及
返回搜索结果。
8.根据权利要求7所述的系统,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档与所述两个或更多面元中的每个面元相关联。
9.根据权利要求7所述的系统,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档与所述两个或更多面元中的至少一个面元相关联。
10.根据权利要求7所述的系统,其中确定与每个条目的两个或更多面元的所述组合中的相应面元相关联的文档包括:确定第一文档仅与所述两个或更多面元中的一个面元相关联。
11.根据权利要求7所述的系统,其中所述搜索引擎基于所述查询中所包括的两个或更多面元而从针对所述文档集合的第一和第二多维反向索引中选择针对所述文档集合的所述多维反向索引。
12.根据权利要求7所述的系统,其中所述索引构建器在接收所述查询之前生成所述多维反向索引中的所述一个或多个条目中的至少一个。
CN201410280881.7A 2013-06-21 2014-06-20 搜索的方法和系统 Expired - Fee Related CN104239395B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/923,406 US9535979B2 (en) 2013-06-21 2013-06-21 Multifaceted search
US13/923,406 2013-06-21

Publications (2)

Publication Number Publication Date
CN104239395A CN104239395A (zh) 2014-12-24
CN104239395B true CN104239395B (zh) 2018-02-06

Family

ID=52111832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410280881.7A Expired - Fee Related CN104239395B (zh) 2013-06-21 2014-06-20 搜索的方法和系统

Country Status (2)

Country Link
US (2) US9535979B2 (zh)
CN (1) CN104239395B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242071B2 (en) 2015-06-23 2019-03-26 Microsoft Technology Licensing, Llc Preliminary ranker for scoring matching documents
US10467215B2 (en) * 2015-06-23 2019-11-05 Microsoft Technology Licensing, Llc Matching documents using a bit vector search index
US11392568B2 (en) 2015-06-23 2022-07-19 Microsoft Technology Licensing, Llc Reducing matching documents for a search query
US11281639B2 (en) 2015-06-23 2022-03-22 Microsoft Technology Licensing, Llc Match fix-up to remove matching documents
CN105550225B (zh) * 2015-12-07 2019-05-28 百度在线网络技术(北京)有限公司 索引构建方法、查询方法及装置
CN106156294B (zh) * 2016-06-29 2019-11-08 中电福富信息科技有限公司 一种快速查找关联数据的方法
US10521408B1 (en) * 2016-09-30 2019-12-31 Open Text Corporation Method and system for optimization of faceted search
US10452693B2 (en) * 2017-04-07 2019-10-22 Sap Se Reordering of enriched inverted indices
US10838994B2 (en) 2017-08-31 2020-11-17 International Business Machines Corporation Document ranking by progressively increasing faceted query
US10375556B2 (en) 2017-12-21 2019-08-06 International Business Machines Corporation Emergency call service backup using device user plane communications
US11921767B1 (en) * 2018-09-14 2024-03-05 Palantir Technologies Inc. Efficient access marking approach for efficient retrieval of document access data
AU2020433394A1 (en) * 2020-03-04 2022-09-15 Yijun Du System and method for utilizing search trees and tagging data items for data collection managing tasks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192237A (zh) * 2006-11-30 2008-06-04 国际商业机器公司 查询多方面信息的方法和系统
CN102063469A (zh) * 2010-12-03 2011-05-18 百度在线网络技术(北京)有限公司 一种用于获取相关关键词信息的方法、装置和计算机设备

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120646B2 (en) 2001-04-09 2006-10-10 Health Language, Inc. Method and system for interfacing with a multi-level data structure
US7069263B1 (en) 2002-02-19 2006-06-27 Oracle International Corporation Automatic trend analysis data capture
US20040039990A1 (en) 2002-03-30 2004-02-26 Xorbix Technologies, Inc. Automated form and data analysis tool
US7080091B2 (en) 2002-05-09 2006-07-18 Oracle International Corporation Inverted index system and method for numeric attributes
US7149748B1 (en) 2003-05-06 2006-12-12 Sap Ag Expanded inverted index
US7716211B2 (en) 2004-02-10 2010-05-11 Microsoft Corporation System and method for facilitating full text searching utilizing inverted keyword indices
WO2006096812A2 (en) 2005-03-07 2006-09-14 Skytide, Inc. Analyzing and reporting extensible data from multiple sources in multiple formats
US7587410B2 (en) 2005-03-22 2009-09-08 Microsoft Corporation Dynamic cube services
US7606781B2 (en) 2005-03-30 2009-10-20 Primal Fusion Inc. System, method and computer program for facet analysis
US7991769B2 (en) * 2006-07-07 2011-08-02 Yahoo! Inc. System and method for budgeted generalization search in hierarchies
US7765215B2 (en) 2006-08-22 2010-07-27 International Business Machines Corporation System and method for providing a trustworthy inverted index to enable searching of records
US7761407B1 (en) 2006-10-10 2010-07-20 Medallia, Inc. Use of primary and secondary indexes to facilitate aggregation of records of an OLAP data cube
US7610281B2 (en) * 2006-11-29 2009-10-27 Oracle International Corp. Efficient computation of document similarity
US7720837B2 (en) 2007-03-15 2010-05-18 International Business Machines Corporation System and method for multi-dimensional aggregation over large text corpora
US7730059B2 (en) 2007-03-30 2010-06-01 International Business Machines Corporation Cube faceted data analysis
US7765216B2 (en) 2007-06-15 2010-07-27 Microsoft Corporation Multidimensional analysis tool for high dimensional data
US7870114B2 (en) 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US8171030B2 (en) 2007-06-18 2012-05-01 Zeitera, Llc Method and apparatus for multi-dimensional content search and video identification
US9202243B2 (en) * 2007-08-23 2015-12-01 Dside Technologies, Llc System, method, and computer program product for comparing decision options
US9251279B2 (en) * 2007-10-10 2016-02-02 Skyword Inc. Methods and systems for using community defined facets or facet values in computer networks
US7392250B1 (en) * 2007-10-22 2008-06-24 International Business Machines Corporation Discovering interestingness in faceted search
US8024324B2 (en) 2008-06-30 2011-09-20 International Business Machines Corporation Information retrieval with unified search using multiple facets
US8266148B2 (en) 2008-10-07 2012-09-11 Aumni Data, Inc. Method and system for business intelligence analytics on unstructured data
US8497871B2 (en) * 2008-10-21 2013-07-30 Zulch Laboratories, Inc. Color generation using multiple illuminant types
US8275747B2 (en) 2010-04-05 2012-09-25 Quantifind, Inc. Automated unit finding for numeric information retrieval
US8560548B2 (en) 2009-08-19 2013-10-15 International Business Machines Corporation System, method, and apparatus for multidimensional exploration of content items in a content store
US20110131202A1 (en) * 2009-12-02 2011-06-02 International Business Machines Corporation Exploration of item consumption by customers
US9262532B2 (en) * 2010-07-30 2016-02-16 Yahoo! Inc. Ranking entity facets using user-click feedback
US8631031B1 (en) * 2011-01-19 2014-01-14 Massachusetts Institute Of Technology Multidimensional associative array database
US8510306B2 (en) 2011-05-30 2013-08-13 International Business Machines Corporation Faceted search with relationships between categories
US9298816B2 (en) * 2011-07-22 2016-03-29 Open Text S.A. Methods, systems, and computer-readable media for semantically enriching content and for semantic navigation
EP2885731B1 (en) 2012-08-17 2019-12-18 Twitter, Inc. Search infrastructure
US9710525B2 (en) * 2013-03-15 2017-07-18 Bmc Software, Inc. Adaptive learning of effective troubleshooting patterns
US9280587B2 (en) * 2013-03-15 2016-03-08 Xerox Corporation Mailbox search engine using query multi-modal expansion and community-based smoothing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192237A (zh) * 2006-11-30 2008-06-04 国际商业机器公司 查询多方面信息的方法和系统
CN102063469A (zh) * 2010-12-03 2011-05-18 百度在线网络技术(北京)有限公司 一种用于获取相关关键词信息的方法、装置和计算机设备

Also Published As

Publication number Publication date
US9547714B2 (en) 2017-01-17
CN104239395A (zh) 2014-12-24
US9535979B2 (en) 2017-01-03
US20140379728A1 (en) 2014-12-25
US20150006500A1 (en) 2015-01-01

Similar Documents

Publication Publication Date Title
CN104239395B (zh) 搜索的方法和系统
US10438172B2 (en) Automatic ranking and scoring of meetings and its attendees within an organization
Müller et al. Overview of the ImageCLEF 2012 medical image retrieval and classiFIcation tasks.
CN107122400B (zh) 使用视觉提示细化查询结果的方法、计算系统及存储介质
CN104699739B (zh) 针对文件不同版本生成内容可寻址存储签名的方法和系统
AU2014259978B2 (en) Tagged search result maintenance
US20220100972A1 (en) Configurable generic language understanding models
US20120323919A1 (en) Distributed reverse semantic index
KR20130142121A (ko) 검색 질의 입력에 대한 다중 모드 접근 방법
CN106095738B (zh) 推荐表单片段
US20130325840A1 (en) Method and system for interactive search result filter
Murthy et al. Big Data solutions on a small scale: Evaluating accessible high-performance computing for social research
US8467613B2 (en) Automatic retrieval of object interaction relationships
US9798833B2 (en) Accessing information content in a database platform using metadata
US20170300531A1 (en) Tag based searching in data analytics
US20120096003A1 (en) Information classification device, information classification method, and information classification program
CN108536786A (zh) 一种信息推荐方法、装置、服务器及存储介质
CN102541631A (zh) 以多线程不同驱动源执行计划处理查询的方法和系统
CN113779349A (zh) 数据检索系统、装置、电子设备和可读存储介质
US10055478B2 (en) Perspective data analysis and management
CN103092900A (zh) 相关产品的单个混合视图呈现
US9141643B2 (en) Visual ontological system for social community
US20090300000A1 (en) Method and System For Improved Search Relevance In Business Intelligence systems through Networked Ranking
WO2016010591A1 (en) Search engine using name clustering
US9122748B2 (en) Matching documents against monitors

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180206