CN102708136B - 包括使用可重用索引字段的对特征的索引和搜索 - Google Patents

包括使用可重用索引字段的对特征的索引和搜索 Download PDF

Info

Publication number
CN102708136B
CN102708136B CN201210062505.1A CN201210062505A CN102708136B CN 102708136 B CN102708136 B CN 102708136B CN 201210062505 A CN201210062505 A CN 201210062505A CN 102708136 B CN102708136 B CN 102708136B
Authority
CN
China
Prior art keywords
index
tenant
field
information
attribute
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
CN201210062505.1A
Other languages
English (en)
Other versions
CN102708136A (zh
Inventor
H·G·索罕
O·弗莱德博格
E·M·罗克
M·苏赛格
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 CN102708136A publication Critical patent/CN102708136A/zh
Application granted granted Critical
Publication of CN102708136B publication Critical patent/CN102708136B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了包括使用可重用索引字段的对特征的索引和搜索。提供了包括相关联的系统、方法和其它实现的索引和搜索特征。一个实施例的计算系统被配置为对于不同承租人重用或重新确定物理索引字段以作为提供有效且可缩放的索引和搜索服务的部分。一个实施例的方法操作为提供包括许多可重用索引字段的经索引的数据结构,所述可重用索引字段被共享并被用于索引与多个承租人相关联的信息。还包括其他实施例。

Description

包括使用可重用索引字段的对特征的索引和搜索
技术领域
本申请涉及包括使用可重用索引字段的对特征的索引和搜索。
背景技术
索引方法被作为对搜索系统和技术进行优化的部分来用于管理复杂计算环境的信息以提供相关的搜索结果。许多当前的搜索引擎对于要索引的项的每个方面或属性使用不同的物理字段结构来对这些项进行索引,导致非常巨大和高度维护的数据结构。例如,典型的技术报告可以具有多个属性,例如标题、统一资源定位符(URL)、主要内容、作者、最近编辑的日期和时间等一些示例。产品描述可以包括例如价格、大小、重量、颜色和口味等示例的属性。要索引和使用的不同类型的信息可以随着一个承租人到下一承租人的不同而显著不同,导致大量物理索引字段和相关联的索引的空区域。承租人可以意指承租和/或使用与其他人共享的基础结构但与其他承租人在逻辑上隔离的人或组织。
相应地,当将搜索作为一种服务提供时,搜索系统需要认识到一个事实,即不同的消费者或承租人要索引不同类型的项。通常,搜索服务对于所有不同的承租人的所有的项的所有的属性的并集使用专用的物理结构,导致一个具有许多空洞(hole)和高数量的物理结构来处理所有各种属性的索引。一个解决方案是为每个承租人使用单独的索引,这导致比在同一索引中存储所有属性的并集时更大总数的物理结构。然而,当前的索引技术没有被配置为将物理索引字段重用(reuse)作为提供索引和搜索服务的部分。
发明内容
提供本发明内容以便以简化的形式介绍将在以下的具体实施例中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
实施例提供了索引和搜索特征,但不局限于此。在一个实施例中,计算系统被配置为对于不同承租人重用或重新确定物理索引字段以作为提供索引和搜索服务的部分。一个实施例的方法操作为提供包括许多可重用索引字段的经索引的数据结构,所述可重用索引字段被共享并被用于索引与多个承租人相关联的信息。还包括其他实施例。
通过阅读下面的详细描述并参考相关联的附图,这些及其它特点和优点将变得显而易见。可以理解,前述一般描述和以下详细描述均仅是说明性的,并且不限制所要求保护的本发明。
附图说明
图1是示例性计算环境的框图。
图2描述了包括许多重用索引字段的示例性索引表示。
图3A-3C描述了许多示例性的承租人索引集以及示例性的索引表示。
图4是描述了作为搜索服务的部分来提供索引操作的示例性的过程的流程图。
图5是描述了配置用于提供索引和搜索服务的示范性系统的组件的框图。
图6描述了用于每承租人不同索引的解决方案的许多文件(资源)的差异。
图7是示出用于实现此处所描述的各个实施例的示例性计算环境的框图。
具体实施方式
图1是示范性计算环境100的框图,该环境包括提供索引、搜索和/或其他信息处理操作的处理、存储器以及其他组件/资源。环境100的组件包括用于爬行内容、添加元数据、产生索引表示以及提供搜索查询(不局限于此)的特征和功能性。如下所述,一个实施例的索引模型可被用于提供包括许多可重用索引字段的索引结构,其中,每个可重用索引字段被配置为包含每个承租人的相同数据类型的不同数据,但不局限于此。
例如,环境100的组件可以操作以将不同承租人的相同数据类型路由或映射到同一索引字段结构,以便将可排序的属性存储在同一物理索引字段中。在一个实施例中,环境100的组件使用每个承租人的模式模型以及从每个承租人模式到所定义的可重用索引字段的映射,因为每个承租人通常要求使用他们自己的特定项和/或少量唯一或承租人专用的属性。这样,所有相关联的承租人可以部分基于可重用字段索引模型来共享和重用与唯一的或承租人专用的属性相关联的减少的索引以及物理索引字段的有限集合。
如下所述,根据一个实施例,环境100的组件对于多个承租人的不同属性自动使用相同物理字段,这显著地减少了相关联的索引的物理字段的总数。组件可以将特征(例如排序、细化器、范围搜索、查询等)的项属性或要求用作到可用的可重用物理索引字段的映射操作的部分。这样,组件可以直接使用索引技术,因为映射对于与索引服务相关联的所有承租人都映射到相同类型的字段。
如图1所示,示范性环境100包括与一个或多个客户机104和/或一个或多个信息储存库106通信上耦合的搜索引擎102。在一个实施例中,信息储存库106被用于提供与多个承租人站点集合、站点、场内容(farm content)等相关联的经爬行的数据。在一个实施例中,环境100包括可用于提供包括搜索引擎102的搜索服务的共享服务场,所述搜索引擎102包括对于多个相关联的承租人使用和重用或重新确定同一物理索引字段的索引特征。
如下所述,映射组件108包括用于将一个或多个储存库106的信息映射到许多可重用索引字段的许多映射。搜索引擎102可以包括利用可重用索引字段的属性来存储与多个承租人相关联的信息的索引特征。一个实施例的每个可重用索引字段可以与多个承租人相关联,以便映射将多个承租人的承租人专用信息(例如重叠和部分重叠的受管属性)映射到对应的可重用索引字段。
当索引承租人专用属性和相关联的信息时,一个实施例的每个可重用索引字段可以被用作提供索引操作的部分,所述索引操作与每个承租人的特定数据类型和/或特征相关联(例如参见图2)。在一个实施例中,通过将每个可重用索引字段作为具有代表性的数据结构的不同文件来存储以维护所述索引。因此,映射组件108可以被配置为包括与承租人受管属性模式的单个实例相关联的映射或与多承租的实现的多个模式相关联的映射。
继续参考图1,一个实施例的搜索引擎102包括用于处理任意数目的可搜索项的索引特征,包括但不限于:网页、任意类型的文档、电子表格、音乐文件、图片文件、视频文件、联系、列表以及列表项、任务、日历条目、任意类型的内容、元数据、元-元数据等。一个实施例的搜索引擎102包括用于以下操作的特征(但不限于):基于原始文本输入创建索引和/或通过使用索引返回查询的结果;从各种客户机、爬行器、连接器等接收可被处理和索引的内容;和/或分析包括文档和其他内容的信息以产生文本输出,例如包括作为示例的文档标题、文档内容、正文、位置、大小等的属性列表。
如下所述,搜索引擎102的索引特征可结合可细化的、可排序的、可检索的和/或其他可管理的属性来作为提供到所关联的可重用索引字段的合适映射的部分来使用。例如,搜索引擎102可以使用索引特征来部分基于可细化的、可排序的、可查询的和/或可检索的字段类型中的一个或多个,将多个承租人的承租人信息映射到一个或多个可重用索引字段。
一个实施例的可细化的字段类型可被用于将管理可细化的属性作为细化查询或某一结果的部分。例如,可细化字段类型可被用作通过使用聚集统计数据(例如使用查询结果中的受管属性值的某个分布)来钻入(drill into)查询结果的过程的部分。作为一个示例,可细化的属性可以被用作在包括出售的汽车的联网储存库上对“汽车”的搜索的部分。这样,可细化属性可被用于返回对价格属性的细化器,如在下面的表1中所述。
表1
细化(价格范围($)) 汽车的数目
0-1000 3
1001-5000 45
5001-10000 534
10001-100000 24
>100000 15
如在表1中所示,可细化的属性或细化器返回了价格在相关联的范围中的汽车的数目。继续示例,另一可细化的属性或细化器可被用于返回相关联的颜色的汽车的数目,如表2中的示例所示。
表2
细化器(颜色) 汽车的数目
绿色 45
红色 234
蓝色 215
白色 104
其它 23
一个实施例的可排序的字段类型可结合可排序的属性被用作对例如结果集合进行排序的部分。对于上述示例,可以将价格定义作为可排序的属性,并且搜索引擎可以返回按价格排序(例如从最高到最低)所标识的汽车。一个实施例的可查询的字段类型可以与部分基于特定输入要求(例如包括字段名作为查询的部分)来被明确地查询的字段相关联。
一个实施例的可检索的字段类型可以与可检索的属性相关联,该可检索的属性可以通过结果集合来定义并返回,但其本身是不可搜索的。例如,旧汽车储存库的承租人管理员可以指定汽车所有人的名字和联系信息是可检索的但不在关联性确定中使用,因为买家通常不会将这种信息考虑作为搜索条件的部分。根据环境100的实施例,作为提供索引特征的部分,每个承租人可以明确标识一个属性是否是可细化的、可排序的、可查询的和/或可检索的。
搜索引擎102的索引特征可被用于在文档和其它项处理操作期间使用承租人专用的语言处理来构建语言专用和其它索引结构。如下所述,搜索引擎102可以操作以通过将定制承租人受管信息映射到具有合适的和正确的特性的可重用的索引字段中来最小化和/或消除空间占用空(space taking null)以作为提供索引服务的部分。而且,不需要可能昂贵的附加变换操作,因为承租人信息被直接映射到定位于索引特定数据类型的可重用的索引字段中。
图2描述了包括许多可重用的索引字段(例如可重用的索引字段(1)202到可重用的索引字段(N)204)的示范性的索引表示200。应该理解,示范性的索引表示200与由要索引的索引特征和/或信息所定义的逻辑顺序相对应。如上所述,索引表示200的每个可重用的索引字段可被用于索引与多个承租人(例如承租人(1)206到承租人(N)208)相关联的索引信息。
在一个实施例中,每个可重用的索引字段可被用于索引相同数据类型的承租人专用的受管属性信息(例如一个承租人可以具有拥有对应于重量的数字数据类型的受管属性,而另一个承租人可以也具有拥有代之以年龄的数字数据类型的受管属性)。多个承租人实现,也称为多-承租,是指将其它方面的共享服务或软件的数据分隔开以便供给多个承租人。在一个实施例中,示范性的索引表示200可以包括用于在跨多-承租空间或域上索引共同共享的属性的附加的索引字段。在一个实施例中,搜索服务可以维护与共同共享的承租人属性相关联的第一索引集以及与包括多个可重用的索引字段的承租人专用的属性相关联的第二较小的索引集。
在一个实施例中,索引表示200对应于索引的数据结构,其中,每个索引字段:是由名字来唯一标识的;具有类型:整数、字符串、日期/时间、十进制或双精度型;可以是或不是可检索的;可以是或不是可排序的;可以是或不是可细化的;可以是或不是在全文索引中,即自由搜索的;和/或可以是或不是可查询的(例如如果在查询项之前明确列出了字段名字,就可能在查询中进行查询的)。因此,可重用的索引数据结构可以被配置为包括依赖于这些特征中的一个或多个的不同类型的索引字段。
作为一个示例,可重用的索引数据结构可以被配置为包括下述可重用的索引字段类型的一个或多个,所述可重用的索引字段类型包括:
对应于可搜索字符串(在全文索引中)的第一字段类型;
对应于可查询字符串的第二字段类型;
对应于可排序和可细化字符串的第三字段类型;
对应于具有范围搜索的可查询的整数信息的第四字段类型;
对应于具有范围搜索的可查询的日期/时间信息的第五字段类型;
对应于具有范围搜索的可查询的固定点十进制信息的第六字段类型;
对应于具有范围搜索的可查询的浮点双精度信息的第七字段类型;
对应于可排序的和可细化的整数信息的第八字段类型;
对应于可排序的和可细化的日期/时间信息的第九字段类型;
对应于可排序和可细化十进制信息的第十字段类型;
对应于可排序的和可细化的双精度信息的第十一字段类型;和/或,
对应于可检索的值的第十二字段类型。
在一个实施例中,第十二字段类型利用一个共享结构来索引整数、字符串、日期/时间、十进制和/或双精度信息。在多-承租索引实现中,一个单个项属性要求适当存储超过一个的示范性的字段类型以作为提供丰富搜索平台的部分是常见的。例如,可排序的和可细化的字符串(同时也是可搜索的和可检索的)可以被映射到第一、第三和第十二类型的索引字段。如上所述,承租人专用的模式可以被用于将承租人属性自动映射到合适的底层索引字段。
图3A-3C描述了许多示例性的承租人索引集300-304以及相关联的索引表示。图3A描述了与第一承租人相关联的第一索引集300,与第二承租人相关联的第二索引集302以及与第三承租人相关联的第三索引集304。对于这个示例,每个索引集包括许多共享的属性306(例如统一资源定位符(URL)、标题、正文)。例如,许多共享的或共同的受管属性可以被用来索引与人(例如联系人)相关联的信息以及与任意类型的典型的文档和/或网页有关的信息。
下述表3包括许多示范性的共享的属性。
表3
继续参考图3A,索引集300包括一组承租人专用的属性308(A1_1和A1_2),索引集302包括一组不同的承租人专用的属性310(A2_1和A2_2),而索引集304也包括一组仍然不同的承租人专用的属性312(A3_1和A3_2)。对于这个经简化的示例,每个承租人专用的属性的底层数据类型具有相同的类型。如在图3A中所示,承租人1的文档(Docs1)对于该组承租人专用的属性308(A1_1和A1_2)具有值314,承租人2的文档(Docs2)对于该组承租人专用的属性310(A2_1和A2_2)具有值316,而承租人3的文档(Docs3)对于该组承租人专用的属性312(A3_1和A3_2)具有值318。
图3B描述了实施例的部分基于可重用的索引字段322和324的使用所得到的索引表示320。如上所述,每个可重用的索引字段322和324都能被映射到相关联的索引的相应的文件或映射到相关联的索引的同一文件的不同部分。如在图3B中所示,因为值314(例如年龄)、值316(例如重量)以及值318(例如容量)具有相同的数据类型(例如十进制、整数等),可重用的字段322和324被用于有效且有力地索引相关联的承租人信息,导致在不必为每个承租人添加附加的物理索引字段的情况下的更少的空洞和紧凑的数据结构。例如,可重用的字段322可被配置作为可排序且可细化的字段类型,而可重用的字段324可被配置作为可查询的字段类型。
根据底层字段类型,索引操作将承租人1的内容映射到可重用的索引字段322和324(I1(1)和I2(1)),将承租人2的内容映射到可重用的索引字段322和324(I1(2)和I2(2)),并将承租人3的内容映射到可重用的索引字段322和324(I1(3)和I2(3))。实施例的一个映射(例如308->322,324)或多个映射被持久保存并始终如一地用于相对应的承租人。在一个实施例中,组件一直使用相同的映射以防止在错误的数据部分中索引并返回不正确的或错误的搜索命中。例如,可以使用关系型数据库或简单XML文件以及版本化机制来存储和持久保存一个或多个映射,其中,可以在所有组件之间控制和共享更新。
作为使用可重用的索引字段的结果,更少的空值(如果有的话)与所得到的经索引的数据结构相关联。因此,整个搜索和索引服务的性能可以通过跨不同的承租人出于不同的目的重复使用物理索引字段来改进。如上所述,搜索引擎或其它组件可以使用从承租人专用受管的属性到实际物理索引字段的附加映射,并对于不同的承租人出于不同的目的重新使用物理索引字段。
对于图3B的示例,可重用的索引字段322和324包含来自不同承租人的不同受管的属性的内容(例如值),导致在所得到的经索引的数据结构中更少的空洞或空隙。因为可以将索引字段映射到文件,因此,与在下述结合图3C所描述的替换实现相比会存储少得多的文件。另外,部分基于对不同的属性的相同物理字段的自动使用和重用可以显著地减少物理字段(和文件)的数目。如上所述,部分基于项的属性以及对附加特征(例如排序、细化器、范围搜索等)的要求,可以将映射用于将一个项映射到物理索引字段。
可以理解,承租人1、承租人2和承租人3的数据可以使用上面结合图3B的可重用的索引字段322和324所述的特征在相同的物理文件中混合。在一个实施例中,来自各种经索引的项的检索项可以以承租人ID或者某个其它标识符为前缀以避免影响其它承租人的关联性和搜索操作。实施例的加前缀操作可以在索引器内执行,以便不影响搜索系统或服务的其它部分。
在一个实施例中,可以将安全措施用于部分基于在属性(例如tenantID)中存储每个文档的拥有该文档的承租人ID来确保一个承租人的内容不影响其它承租人如何查阅和使用他们自己的内容。每当承租人发出查询时,查询重写操作可被用于用包括正确的承租人ID的附加查询项来重写该查询(例如originalQuery AND tenantID=<tenantID>,原始查询和承租人ID=<承租人ID>)。搜索和索引特征可以被配置为按每个承租人(不是全局)的基础使用统计和其它措施。
图3C描述了与结合图3B所述的实现相对的不包括可重用的索引字段的使用的替换的经索引的表示326。例如,替换的经索引的表示326可以用在云设置或部署中,包括承租人专用的字段,并且对于少量承租人(例如10-100)是可接受的。替换的经索引的表示326导致许多文件和盘消耗,这随着承租人的数目成比例缩放(参见图6中的示例)。
如图3C所示,由于承租人1Docs不包括承租人专用属性310(A2_1,A2_2)以及承租人专用属性312(A3_1,A3_2)的值,承租人2Docs不包括承租人专用属性308(A1_1,A1_2)以及承租人专用属性312(A3_1,A3_2)的值,而承租人3Docs不包括承租人专用属性308(A1_1,A1_2)以及承租人专用属性310(A2_1,A2_2),因此,空洞328或空隙330存在于替换的经索引的表示326中。这样,如所示,替换的经索引的表示326中的大部分将为空。因此,承租人和受管的属性越多,则空洞或空的字段部分就越多。
另外,一个实施例的替换的经索引的表示326导致:每个可排序的受管的属性意味着在盘上的4个附加文件;每个可细化的受管的属性意味着在盘上的5个附加文件;每个整数型的受管的属性意味着在盘上的4个附加文件;每个可查询的受管的属性必须映射到(允许排名的)全文索引或(不支持排名的)综合索引之一;每个包含许多可查询的受管的属性的全文索引项意味着盘上的附加文件(例如总数为4个字典文件加上每个受管的属性有7个文件)。
与图3C的受限解决方案相对,上述从物理索引字段的重用中得到的可重用的索引结构可以由与要索引的受管属性的数目相独立的相同数目的物理索引字段(例如文件)来配置。可以将附加承租人和相关联的信息有效地映射到可重用的索引结构。实现稀疏细化器和属性矢量(attribute vector)可帮助对消除或减少特定实现的索引的任意空字段进行改进。
图4是描述了作为搜索服务的部分来提供索引和搜索操作的示例性的过程400的流程图,但不限于此。例如,过程400可以被用于跨多个承租人来虚拟化物理索引字段,例如在云或其它网络中部署的和由多个消费者或承租人所使用的搜索引擎的功能的部分。
在402处过程400操作来标识用于索引的信息。例如,索引服务可配置用于连续地索引新的和经修改的承租人数据,所述数据作为联网的计算体系结构的部分来维护。在一个实施例中,在402处过程400操作以部分基于承租人专用的爬行器的使用来使用与多个承租人相关联的信息,以便基于项部分(例如网页部分、文档部分等)的能得到每个承租人项的一组属性的类型来提取各种类型的信息,,所述承租人专用的爬行器爬行页面、文档等,添加元数据(例如文件名、位置、URL、标题、数据、作者等)并且分析各操作。
在404,过程400操作以用所标识的信息来填充索引字段。在一个实施例中,在404处过程400操作以部分基于与多个承租人专用的受管的属性相关联的信息来填充一个或多个可重用的索引字段。例如,在404处过程400可以使用承租人模式的模式库来将承租人数据从多个承租人专用的储存库中映射到经索引的数据结构,所述多个承租人专用的储存库具有与许多共享和承租人专用的受管的属性相关联。
一个实施例的过程400可以使用模式库来跟踪特定的经爬行的属性到源(例如每个承租人模式到共享的底层索引字段)的映射。在一个实施例中,在404处过程400可被用于生成与跨所有订阅的承租人所共享的许多受管的属性相关联的主索引结构,以及与在映射到多个承租人专用的受管的属性中使用的许多可重用的索引字段相关联的可重用的索引结构,以作为提供丰富搜索功能的部分。
在406,过程400操作以在大容量存储中存储经索引的信息。例如,在406处过程400可以操作以使用搜索服务场的专用服务器来存储经索引的信息,以作为提供多承租人搜索服务的部分。在408,过程400操作以使用所存储的经索引的信息来服务查询并提供搜索结果。尽管针对图4中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
图5是描述了配置用于提供索引和搜索服务的示范性系统500的组件的框图,但不局限于此。如图所示,示范性系统500包括核搜索引擎502、内容应用编程接口(API)504、项处理506、查询处理508、结果处理510以及客户机搜索API 512。可以理解,索引和搜索特征可以作为处理器驱动的计算机实现的环境的部分来实现。在其它实施例中,组件特征可以被进一步的组合和/或细分。
核搜索引擎502包括基于原始文本输入创建索引并返回通过使用所述索引的查询的结果的功能性。在一个实施例中,核搜索引擎502管理与许多共享和/或承租人专用的属性相关联的信息的索引。一个实施例的核搜索引擎502利用包括如上详细描述的使用定义的多个物理索引字段来管理承租人专用的属性信息的可重用的索引结构。
由各种客户机、爬行器、连接器等使用内容API 504(例如内容域505)以提交和接受后续处理和索引操作的内容。项处理506被用于分析文档以及其它内容以产生文本和其它输出,例如诸如属性列表(例如文档标题、文档内容、正文、位置、大小等)。查询处理508操作以分析原始用户输入(例如查询),包括对使用核搜索引擎502来执行的查询进行改进和/或重写。例如,查询处理508可被配置为检测语言、纠正拼写错误、向查询添加同义词、重写缩写等。
结果处理510操作以在返回结果之前处理由核搜索引擎502所提供的这些结果。例如,结果处理510可以包括排名和相关性确定算法或其它特征,它们被部分用于返回相关的搜索结果。搜索前端和其它应用(例如客户机域514)使用客户机搜索API 512来发出查询并使用查询来检索结果。
在一个实施例中,系统500还可以包括警告引擎,警告引擎操作以存储查询并分析所有的传入(例如经爬行的或馈送的)文档。例如,当新文档匹配查询时,警告引擎可以将警报发出给任意的警报订阅者。示范性系统500可被用于为个别承租人提供丰富的搜索服务以管理和消费他们自己的数据,同时提供对域范围的检索项、关键字、内容类型和其它数据的分数。搜索服务可以在同一场上被共享和主存,或在专用的服务场或在不同的场上被主存。还可实现交叉场和单个场服务。
图6描述了用于每承租人的不同的示范性索引的许多文件(资源)的差异。如在图6中所示,提供了说明从使用不同的索引方法和模式表示中得到多少文件的图表。对于这个示例,使用了共享和重用索引方法来生成共享和重用的数据602,使用共享但不重用的索引方法来生成共享但不重用的数据604,以及使用每个承租人的单独索引来生成每个承租人606的单独的索引。如所示,使用共享和重用的索引方法,搜索引擎可以将给定示例的文件数目从大约90000000减少到大约41000,这是显著的减少。所述图表包括对数缩放,因为在一些情况下,示范性的共享和重用的数据602比来自最坏的解决方案的极端大值要小得多。
尽管在此描述了某些实施例,但其他实施例是可用的,并且不应该用所描述的各实施例来限制权利要求书。合适的编程装置包括指示计算机系统或设备执行方法中的各步骤的任何装置,例如包括由处理单元和耦合到计算机存储器的各算术逻辑电路组成的系统,该系统具有在计算机存储器中进行存储的能力,该计算机存储器包括配置来存储数据和程序指令的电子电路。示例性计算机程序产品能与任何合适的数据处理系统一起使用。尽管以上描述了一定数量和类型的组件,但可以理解,可根据各个实施例而包括其他数量和/或类型和/或结构。因此,根据所期望的实现,还可将组件功能进一步进行划分和/或将其与其他组件功能组合在一起。
针对各个实施例的示例性通信环境可包括对安全网络、非安全网络、混合网络和/或某其他网络或各网络的组合的使用。作为示例而非限制,该环境可包括诸如有线网络或直接线连接之类的有线介质,和/或诸如声学、射频(RF)、红外线和/或其他有线和/或无线介质和组件之类的无线介质。除了计算系统、设备等以外,可将各个实施例实现为计算机过程(例如,方法)、计算机程序产品或计算机可读介质之类的制品、计算机可读存储介质和/或作为各种通信结构的一部分。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器、可移动存储和不可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备访问的任何其它介质。任何这样的计算机存储介质都可以是设备或系统的一部分。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。
此处描述的各实施例和示例不旨在是限制性的,并且其他实施例也是可用的。此外,上述各组件可被实现为联网、分布式和/或其他计算机实现环境的一部分。这些组件可以经由有线、无线、和/或通信网络的组合来通信。网络组件和/或各组件之间的耦合可包括任何类型、数量和/或组合的网络,且相应的网络组件包括但不限于广域网(WAN)、局域网(LAN)、城域网(MAN)、专有网络、后端网络等。
客户计算设备/系统和服务器可以是任何类型和/或组合的基于处理器的设备或系统。另外,服务器功能可包括许多组件并包括其他服务器。在单个时态中描述的计算环境的组合可包括这种组件的多个实例。尽管特定实施例包括软件实现,但它们不限于此并且它们涵盖硬件或混合硬件/软件解决方案。其他实施例和配置是可用的。
示例性操作环境
现在参考图7,以下讨论旨在提供可以在其中实现本发明的实施例的合适计算环境的简要、一般的描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他类型的计算系统和程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域的技术人员将理解,本发明可以使用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、大型计算机等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
现在参考图7,将描述用于本发明的各实施例的说明性操作环境。如图7所示,计算机2包括通用服务器、台式计算机、膝上型计算机、手持式计算机、或能够执行一个或多个应用程序的其它类型的计算机。计算机2包括至少一个中央处理单元8(“CPU”)、包括随机存取存储器18(“RAM”)和只读存储器(“ROM”)20的系统存储器12、以及将存储器耦合至CPU 8的系统总线10。基本输入/输出系统存储在ROM 20中,所述基本输入/输出系统包含帮助在诸如启动期间在计算机内元件之间传递信息的基本例程。计算机2还包括用于储存操作系统24、应用程序、以及其他程序模块/资源26的大容量存储设备14。
大容量存储设备14通过连接至总线10的大容量存储控制器(未示出)连接到CPU8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应明白,计算机可读介质可以是可由计算机2访问或利用的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机2访问的任何其他介质。
根据本发明的各实施例,计算机2可以使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线10的网络接口单元16来连接到网络4。应当明白,网络接口单元16也可用于连接至其它类型的网络和远程计算系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自多个其他设备,包括键盘、鼠标等(未示出)的输入。类似地,输入/输出控制器22可将输出提供给显示屏、打印机、或其他类型的输出设备。
如以上简要地提及的,许多程序模块和数据文件可以被存储在计算机2的大容量存储设备14和RAM 18中,包括适用于控制联网的个人计算机的操作的操作系统24,诸如位于华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM 18还可以存储一个或多个程序模块。具体地,大容量存储设备14和RAM 18可存储诸如文字处理、电子表格、绘画、电子邮件和其他应用程序和/或程序模块等应用程序。
应当明白,本发明的各种实施例可被实现为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,和/或(2)计算机系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算系统的性能要求来选择的。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、以及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。
尽管已经结合各示例性实施例描述了本发明,但本领域普通技术人员将理解,可以在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。

Claims (11)

1.一种方法,包括:
为部署在网络中的搜索引擎提供索引服务,包括使用许多可重用的索引字段,每个可重用的索引字段具有对应的字段类型;
爬行承租人域以提供用于填充所述许多可重用的索引字段的信息;
索引与多个承租人和承租人专用的属性相关联的信息,包括部分基于对应的字段类型和承租人专用的属性来使用所述许多可重用的索引字段,所述索引包括将不同承租人的相同数据类型的数据映射到所述可重用的索引字段;以及
存储经索引的信息以供所述搜索引擎使用。
2.如权利要求1所述的方法,其特征在于,还包括使用包括可搜索、可查询、可排序、可细化和可检索的字段类型中的一个或多个的所述许多可重用的索引字段来提供索引服务。
3.如权利要求1所述的方法,其特征在于,还包括提供所述索引服务,包括部分基于可查询的字符串、可查询的整数、可查询的日期/时间、可查询的十进制、可查询的双精度型、可排序和可细化的整数、可排序和可细化的日期/时间、可排序和可细化的十进制以及可排序和可细化的双精度型中的一个或多个,用多承租人信息填充所述许多可重用的索引字段。
4.如权利要求1所述的方法,其特征在于,还包括提供所述索引服务,包括使用所述许多可重用的索引字段来管理一个或多个重叠的或部分重叠的承租人的属性。
5.如权利要求1所述的方法,其特征在于,还包括部分基于可搜索的项字段映射、可查询的项字段映射、可排序的和可细化的项字段映射以及可检索的项字段映射中的一个或多个,将与承租人专用的属性相关联的信息映射到对应的可重用的索引字段。
6.一种使用搜索引擎(102)的方法,包括:
爬行承租人域的项作为收集要索引的信息的部分,所述信息包括与一组共享的受管的属性相关联的信息以及与不同的承租人的属性相关联的信息;
使用所收集的信息来提供索引操作和被索引的信息;
重新使用与许多索引的受管的属性相独立的定义数目的物理索引字段;
部分基于可搜索的项字段映射、可查询的项字段映射、可排序的和可细化的项字段映射以及可检索的项字段映射,将相同数据类型的承租人的信息映射到所述定义数目的物理索引字段;以及
部分基于被索引的信息的方面来使用所述搜索引擎(102)提供搜索结果。
7.如权利要求6所述的方法,其特征在于,进一步包括:使用所述搜索引擎(102)和共享的索引连同有限的索引,所述共享的索引包括许多共享的承租人的属性,所述有限的索引包括可重用的索引字段和经映射的承租人数据。
8.如权利要求6所述的方法,其特征在于,进一步包括:使用所述搜索引擎(102)和虚拟化的索引,所述虚拟化的索引包括与多个承租人相关联的可重用的物理索引字段,所述可重用的物理索引字段对应于许多承租人专用和非重叠的属性。
9.一种使用搜索引擎(102)来提供服务的方法,包括:
使用爬行器组件来爬行承租人域的项作为收集要索引的承租人信息的部分,所述信息包括与一组共享的受管的属性相关联的信息以及与承租人专用的属性相关联的信息;使用索引部件和许多定义的可重用的索引字段,来作为通过将多个承租人中的不同承租人的相同数据类型的数据映射到所述许多定义的可重用的索引字段来索引承租人信息的部分,其中,每个可重用的索引字段具有管理所述承租人的属性的字段类型,以作为为所述多个承租人提供索引服务的部分;
接收与所述多个承租人和承租人专用的属性相关联的承租人的信息;
填充索引结构,包括部分基于底层字段类型、承租人专用的属性以及对应的承租人信息对不同类型的承租人信息使用所述许多定义的可重用的索引字段;以及
存储所述索引结构以用于提供搜索结果。
10.一种系统(100),包括:
用于为部署在网络中的搜索引擎提供索引服务的装置,包括使用许多可重用的索引字段,每个可重用的索引字段具有对应的字段类型;
用于爬行承租人域以提供用于填充所述许多可重用的索引字段的信息的装置;
用于索引与多个承租人和承租人专用的属性相关联的信息的装置,包括部分基于对应的字段类型和承租人专用的属性来使用所述许多可重用的索引字段,用于索引的装置包括用于将不同承租人的相同数据类型的数据映射到所述可重用的索引字段的装置;以及
用于存储经索引的信息以供所述搜索引擎使用的装置。
11.一种使用搜索引擎(102)来提供服务的系统,包括:
用于使用爬行器组件来爬行承租人域的项作为收集要索引的承租人信息的部分的装置,所述信息包括与一组共享的受管的属性相关联的信息以及与承租人专用的属性相关联的信息;
用于使用索引部件和许多定义的可重用的索引字段,来作为通过将多个承租人中的不同承租人的相同数据类型的数据映射到所述许多定义的可重用的索引字段来索引承租人信息的部分的装置,其中,每个可重用的索引字段具有管理所述承租人的属性的字段类型,以作为为所述多个承租人提供索引服务的部分;
用于接收与所述多个承租人和承租人专用的属性相关联的承租人的信息的装置;
用于填充索引结构的装置,包括部分基于底层字段类型、承租人专用的属性以及对应的承租人信息对不同类型的承租人信息使用所述许多定义的可重用的索引字段;以及
用于存储所述索引结构以用于提供搜索结果的装置。
CN201210062505.1A 2011-03-11 2012-03-09 包括使用可重用索引字段的对特征的索引和搜索 Active CN102708136B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/045,790 2011-03-11
US13/045,790 US8620897B2 (en) 2011-03-11 2011-03-11 Indexing and searching features including using reusable index fields

Publications (2)

Publication Number Publication Date
CN102708136A CN102708136A (zh) 2012-10-03
CN102708136B true CN102708136B (zh) 2017-10-17

Family

ID=46797014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210062505.1A Active CN102708136B (zh) 2011-03-11 2012-03-09 包括使用可重用索引字段的对特征的索引和搜索

Country Status (2)

Country Link
US (1) US8620897B2 (zh)
CN (1) CN102708136B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417611B2 (en) 2010-05-18 2019-09-17 Salesforce.Com, Inc. Methods and systems for providing multiple column custom indexes in a multi-tenant database environment
CN102722481B (zh) 2011-03-29 2016-08-03 阿里巴巴集团控股有限公司 一种用户收藏夹数据的处理方法及搜索方法
US10108648B2 (en) * 2011-07-13 2018-10-23 Salesforce.Com, Inc. Creating a custom index in a multi-tenant database environment
WO2013025556A1 (en) 2011-08-12 2013-02-21 Splunk Inc. Elastic scaling of data volume
US10031978B1 (en) * 2012-06-29 2018-07-24 Open Text Corporation Methods and systems for providing a search service application
US8930374B2 (en) * 2012-06-29 2015-01-06 Nokia Corporation Method and apparatus for multidimensional data storage and file system with a dynamic ordered tree structure
US10157229B1 (en) 2012-06-29 2018-12-18 Open Text Corporation Methods and systems for building a search service application
AU2013328901B2 (en) * 2012-10-12 2016-07-28 A9.Com, Inc. Index configuration for searchable data in network
US9852188B2 (en) * 2014-06-23 2017-12-26 Google Llc Contextual search on multimedia content
US10572863B2 (en) 2015-01-30 2020-02-25 Splunk Inc. Systems and methods for managing allocation of machine data storage
US9922114B2 (en) * 2015-01-30 2018-03-20 Splunk Inc. Systems and methods for distributing indexer configurations
CN106156088B (zh) * 2015-04-01 2020-02-04 阿里巴巴集团控股有限公司 一种索引数据处理方法、数据查询方法及装置
US10628388B2 (en) * 2015-04-01 2020-04-21 International Business Machines Corporation Supporting multi-tenant applications on a shared database using pre-defined attributes
CN106156227A (zh) * 2015-04-26 2016-11-23 阿里巴巴集团控股有限公司 一种数据传输方法及装置
US9823919B2 (en) 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
US20180129712A1 (en) * 2016-11-09 2018-05-10 Ca, Inc. Data provenance and data pedigree tracking
US10719555B2 (en) * 2017-02-07 2020-07-21 Salesforce.Com, Inc. System and method in a database system for sharing a data item with an entity in another tenant domain
CN107301017B (zh) * 2017-06-06 2021-03-09 云知声智能科技股份有限公司 一种数据存储方法及装置
US11328203B2 (en) * 2018-07-30 2022-05-10 Salesforce.Com, Inc. Capturing organization specificities with embeddings in a model for a multi-tenant database system
CN112417225A (zh) * 2020-11-30 2021-02-26 北京明略软件系统有限公司 一种多源异构数据的联合查询方法与系统
US20220335049A1 (en) * 2021-04-14 2022-10-20 Google Llc Powering Scalable Data Warehousing with Robust Query Performance
CN113742535A (zh) * 2021-09-03 2021-12-03 上海微盟企业发展有限公司 一种通用化检索方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020654B1 (en) * 2001-12-05 2006-03-28 Sun Microsystems, Inc. Methods and apparatus for indexing content
US8543566B2 (en) * 2003-09-23 2013-09-24 Salesforce.Com, Inc. System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data
US7779039B2 (en) * 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US8533229B2 (en) * 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
US7801880B2 (en) * 2005-03-29 2010-09-21 Microsoft Corporation Crawling databases for information
US9135304B2 (en) * 2005-12-02 2015-09-15 Salesforce.Com, Inc. Methods and systems for optimizing text searches over structured data in a multi-tenant environment
US20070162481A1 (en) * 2006-01-10 2007-07-12 Millett Ronald P Pattern index
US20080162544A1 (en) 2006-12-27 2008-07-03 Salesforce.Com, Inc. Systems and methods for implementing many object to object relationships in a multi-tenant environment
US7788253B2 (en) * 2006-12-28 2010-08-31 International Business Machines Corporation Global anchor text processing
US8122040B2 (en) * 2007-08-29 2012-02-21 Richard Banister Method of integrating remote databases by automated client scoping of update requests over a communications network
CN101477568A (zh) * 2009-02-12 2009-07-08 清华大学 一种结构化数据和非结构化数据综合检索的方法

Also Published As

Publication number Publication date
US20120233147A1 (en) 2012-09-13
US8620897B2 (en) 2013-12-31
CN102708136A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102708136B (zh) 包括使用可重用索引字段的对特征的索引和搜索
US20230046324A1 (en) Systems and Methods for Organizing and Finding Data
US9146994B2 (en) Pivot facets for text mining and search
Höffner et al. Linkedspending: Openspending becomes linked open data
US11264140B1 (en) System and method for automated pharmaceutical research utilizing context workspaces
US11100469B2 (en) Cross-domain collaborative data log
CN104750771B (zh) 利用域信息进行上下文数据分析的方法和系统
US20150006432A1 (en) Ontology-driven construction of semantic business intelligence models
US11556590B2 (en) Search systems and methods utilizing search based user clustering
CN104915413A (zh) 一种健康检测方法及系统
CN106055621A (zh) 一种日志检索方法及装置
Duan et al. VISA: a visual sentiment analysis system
CN105824872B (zh) 基于搜索的数据的检测、链接和获取的方法和系统
Wu et al. Concinnity: A generic platform for big sensor data applications
CN111414410A (zh) 数据处理方法、装置、设备和存储介质
Arenas et al. Enabling Faceted Search over OWL 2 with SemFacet.
Cecelja Manufacturing Information and Data Systems: Analysis, Design and Practice
US11334606B2 (en) Managing content creation of data sources
US20160162814A1 (en) Comparative peer analysis for business intelligence
US11379504B2 (en) Indexing and mining content of multiple data sources
Jiang et al. A collaborative framework for representation and harmonization of clinical study data elements using semantic MediaWiki
CN105474208A (zh) 使用层面信息的基于文档的搜索
Wilson et al. Fuzzy logic ranking for personalized geographic information retrieval
Zhou et al. A distributed text mining system for online web textual data analysis
Moraes et al. Design principles and a software reference architecture for big data question answering systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1176704

Country of ref document: HK

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1176704

Country of ref document: HK