当前位置: 首页 > 专利查询>微软公司专利>正文

搜索索引格式优化制造技术

技术编号:4987914 阅读:189 留言:0更新日期:2012-04-11 18:40
提供了一种搜索索引结构,其通过结合为从存储中进行快速检索而优化并且消除专用于短语搜索的数据的索引来扩展典型的复合索引。其他数据以允许计算数据而非存储数据的方式来表示。将可变长度条目与逻辑类别相关联允许从类别推断条目长度而非存储类别长度。使用文档ID之间的增量值而非ID本身生成通过哈夫曼编码或类似的压缩方法来高效地压缩的紧凑的、密集的符号集。在编码之前使用上阈值来从该符号集中移除较大的且由此少见的增量值进一步提高编码性能。

【技术实现步骤摘要】
【国外来华专利技术】搜索索引格式优化背景在由多个文档组成的搜索域内搜索关键字或相似的数据项通常涉及使用索引。通 常,该索引是将关键字与文档相关联的倒排索引。在搜索索引本质上是通用的情况下,它必须支持各种类型的搜索。一个常见示例 是关键字搜索,其中用户提供一个或多个关键字或值,并且搜索结果是搜索域内包含所有 关键字的所有文档。另一示例是短语搜索,其中用户提供由两个或更多单词以特定顺序组 成的短语。在这种情况下,搜索结果是来自搜索域中包含恰如所提供的短语的短语(即,所 有单词相邻且以相同的顺序)的所有文档。支持短语查询的索引必须包含比不支持短语查 询的索引多得多的数据,因为它必须包括单词每一次出现在文档内的位置。为了满足用户需求,搜索必须既快速又准确。在索引层面,这引发了竞争的需求。 为了精确索引必须是完整的,但这驱动了对较大索引的需求。为了快速访问索引必须是较 小的,但这驱动了消除数据的需求。可以使用压缩方案来减少必须读入的数据量,但是这可 能不足以满足用户对快速结果的需求。概述提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于确定 或限制所要求保护的主题的范围。此处所公开的主题的各方面涉及搜索索引结构,其中使用对预先存在的结构的扩 展来优化非短语搜索。该优化包括消除关于文档内关键字出现的位置的信息。其他方面涉及通过以可以计算而非存储索引的方式构造索引来消除数据。将可变 长度出现计数字段与逻辑类别相关联以允许从类别推断字段大小而非存储字段大小。在类 别内和跨类别使用连续符号值允许计算符号值而非将其存储在类别中。对类别内的符号条 目进行排序并且在编码表中匹配该排序允许计算对应于代码的符号而非存储该符号。以下描述的方法可被实现为计算机进程、计算系统、或者诸如计算机程序产品等 制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算 机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算 机过程的指令的计算机程序的载体上的传播信号。对以上概述的更全面的理解可通过参考以下简要概述的附图、以下对本专利技术的各 实施例的详细描述以及所附权利要求书来获得。附图简述附图说明图1示出了复合搜索索引的结构的一实施例。图2示出了用于执行多单词、非短语查询的方法的一实施例的高级流程图。图3示出了用于执行短语查询的方法的一实施例的高级流程图。图4示出了内容索引扩展的顶层结构的一实施例。图5示出了用于压缩表页面的结构的一实施例。图6示出了用于类别描述符的结构的一实施例。图7示出了用于数据页面的结构的一实施例。图8示出了用于页面目录条目的结构的一实施例。图9示出了用于文档ID比特流条目的结构的一实施例。图10示出了压缩过程的一般流程。图11示出了解压过程的一般流程。详细描述本详细描述是参考附图做出的,附图构成了详细描述的一部分,并且附图通过说 明示出了具体实施例。足够详细地描述这些实施例以允许本领域的技术人员实践以下所教 导的内容,并且应该理解可以使用其他实施例,并且可以作出逻辑、机械、电子和其他改变 而不背离本专利技术主题的精神或范围。以下详细描述因此不是限制性的,且其范围仅由所附 权利要求来限定。概览本专利技术针对在搜索域内搜索文档(或文件)集以找到与用户最相关的文档。搜索 通常涉及从用户获取一组关键字以指示搜索并且然后标识搜索域内匹配这些关键字的所 有文档。在试图标识这些候选文档时,搜索引擎可以在文档的正文或文档的特定部分或特 性(例如标题、摘要等)内查找关键字。所得的候选文档集包含来自搜索域的可能相关的所有文档。接着可以将排序算法 应用到候选文档以预测文档与用户的相关性。接着通常以预测的相关性的降序向用户呈现 候选文档。这种类型的搜索的实施例通常利用将关键字与文档关联的倒排索引结构。参考图 1,可以看出这种索引100可以由若干组件组成。本专利技术的主要兴趣是内容索引102和内容 索引扩展106。虽然基本范围索引104和复合范围索引108对于总体搜索过程是重要的,但 是它们不直接与本专利技术相关。内容索引102是在搜索域中的文档中找到的关键字的完整索引。它被结构化成支 持各种类型的搜索并且可独立于内容索引扩展106使用。内容索引102内的标志指示在内 容索引扩展106中是否有信息可供使用。对于每一个关键字都存在该标志,以便提供对如 何和何时使用扩展信息的控制。内容索引102支持的一种类型的搜索是“短语”查询。这是其中用户查找以特定 顺序出现的单词的特定组合的查询。一个简单的示例是搜索短语“the quick brown fox”。 如果文档恰好包含该短语,则它是候选者,如果它包含分散在整个文档中或不同顺序的所 有单词,则它不是候选者。为了高效起见,这种类型的查询要求索引包含有关每一个关键 字出现在文档中的哪里的信息,这样使得搜索引擎可确定它们是否相邻并且按照适当的顺 序。该信息增加了索引的大小以及由此的必须从包含索引的存储介质(例如盘驱动器)读 入的数据量。对于其中所提供的关键字中的一个或多个在较高百分比的文档中出现的较大 搜索域,读入该数据所需的时间包括执行搜索所需的时间中的大部分。为涉及在大量文档中出现的关键字的非短语查询优化内容索引扩展106。一种用 途是用于其中用户提供关键字集的情况,所有关键字必须出现在每一个候选文档中,但不 必按照任何特定顺序。另一用途是作为对短语查询的初始过滤器,在使用内容索引102来 执行特定短语是否包含在其余文档中的更昂贵的判定之前清除不包含所有单词的那些文档。由于内容索引扩展106无需支持短语查询,因此它无需包含关于每一个关键字出 现在每一个文档内的特定位置的信息(被称为出现数据)。它最多会存储单词出现多少次 的计数,即出现计数。该单个值比表示文档内的每一个位置所需的数字集小得多,尤其当单 词在文档中广泛使用时。消除该数据减少了必须从存储读取的关于每一个关键字的数据 量。这减少了处理每一个关键字所需的时间,从而加速了搜索。为了简明起见,在本专利技术中,索引将被描述为由对应于每一个组件的单独的文件 组成。清楚地,使用文件仅是一个实施例且并不旨在作为对本专利技术的限制。索引也是按照 存在于“文档”内的“关键字”来描述的。关键字不限于“单词”。它可以是短语、数字、代码 或要在文档内搜索的任何类似的值。以类似方式,术语“文档”会被用于指正在搜索的且包 含关键字的那些实体。它们可以是文档、文件、卡或具有必要特性的任何其他逻辑结构。为了进一步减少需要从存储读取的数据量,如下所述压缩内容索引扩展106的各 部分。一个实施例使用哈夫曼编码,它是具有对较频繁出现的数据项使用较短的代码的特 性的无损熵编码方案。在编码被应用到文档ID之间的差异(或步长)的情况下,随着在搜 索域内关键字出现的频率增加,压缩编得更加高效。这是对所公开的方法的较好的匹配,其 中内容索引扩展仅用于常用关键字。可以用许多方式使用内容索引扩展106以支持关键字搜索。图2中示出了一种用 途,其示出了多单词、非短语查询的高级逻辑流程。在步骤200,从用户获取关键字。循环判 定202控制对每一个关键字的处理。在该循环内,在步骤204,在内容本文档来自技高网...

【技术保护点】
一种搜索搜索域内的多个文档的方法,所述方法包括:  (a)提供(1022)具有一系列连续、长度可变的文档ID增量条目(904)的经压缩的文档ID增量列表(708),对所述多个文档中包含关键字的每一个文档有一个所述文档ID增量条目;  (b)提供(1023)具有一系列连续、长度可变的关键字出现计数条目的出现计数列表(710),对所述经压缩的文档ID增量列表(708)中的多个文档中的至少某一些中的每一个有一个所述关键字出现计数条目;以及  (c)通过使用所述经压缩的文档ID增量列表(708)并使用所述出现计数列表(710)来搜索(202)所述多个文档。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:R卡萨诺夫CC梅里根M佩特立克AI科汉
申请(专利权)人:微软公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1