IP Library Granted Patent US 8,620,897
Granted Patent B2
US 8,620,897 · App. 13/045,790 · Granted Dec 31, 2013

Indexing and searching features including using reusable index fields

Inventors: Helge Grenager Solheim (Oslo, NO); Øystein Fledsberg (Ranheim, NO); Evan Matthew Roark (Asker, NO); Michael Susaeg (Hosle, NO)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,620,897
App. No.
13/045,790
Granted
Dec 31, 2013
Kind
B2
Abstract

Indexing and searching features are provided including associated system, methods, and other implementations. A computing system of an embodiment is configured to reuse or repurpose physical index fields for different tenants as part of providing efficient and scalable indexing and searching services. A method of one embodiment operates to provide an indexed data structure that includes a number of reusable index fields that are shared and used to index information associated with a plurality of tenants. Other embodiments are included.

Claims (34)

1. A method comprising:

providing indexing services for a search engine deployed in a network including using a number of reusable index fields, each reusable index field having a corresponding field type;

crawling tenant domains to provide information for use in populating the number of reusable index fields;

indexing the information associated with a plurality of tenants and tenant-specific properties including using the number of reusable index fields based in part on the corresponding field types and the tenant-specific properties, the indexing including mapping data of the same data types of different tenants to the reusable index fields; and

storing the indexed information for use by the search engine.

2. The method of claim 1 , further comprising providing the indexing services using the number of reusable index fields including searchable, queryable, sortable, refinable, and retrievable field types.

3. The method of claim 1 , further comprising mapping the information associated with tenant-specific properties to corresponding reusable index fields based in part on a searchable item field mapping, a queryable item field mapping, a sortable and refinable item field mapping, and a retrievable item field mapping.

4. The method of claim 1 , further comprising providing indexing services using a reusable index structure that includes a defined number of physical index fields to manage the indexing of tenant-specific property information.

5. The method of claim 1 , further comprising providing the indexing services including using a tenant-specific schema to map content associated with tenant-specific properties to appropriate reusable index fields.

6. The method of claim 1 , further comprising providing the indexing services including using the reusable index fields to index tenant information including web pages, documents, spreadsheets, music, pictures, video, contacts, lists and list items, tasks, and other items.

7. The method of claim 1 , further comprising mapping tenant information to the reusable index fields including dynamically allocating a reusable index field for each tenant based in part on a matching feature set for the reusable index field.

8. The method of claim 2 , further comprising providing indexing services including populating the number of reusable index fields with multi-tenant information based in part on a queryable string, queryable integer, queryable date/time, queryable decimal, queryable double, sortable and refinable integer, sortable and refinable date/time, sortable and refinable decimal, and sortable and refinable double.

9. The method of claim 2 , further comprising providing the indexing services including using the number of reusable index fields to manage one or more overlapping or partially overlapping tenant properties.

10. The method of claim 2 , further comprising providing the indexing services including using the number of reusable index fields for retrievable values as a shared structure for integer, string, date/time, decimal, or double field types.

11. The method of claim 4 , further comprising mapping tenant information to the reusable index structure based in part on the type of searching features specified for each tenant-specific property.

12. A system comprising:

a crawler component to crawl items of tenant domains as part of collecting information to index including information associated with a shared set of managed properties and information associated with distinct tenant properties;

an index component configured to:

use collected information to provide indexing operations and indexed information;

reuse a defined number of physical index fields independent of a number of managed properties indexed; and

map tenant information of the same data types to the defined number of physical index fields based in part on a searchable item field mapping, a queryable item field mapping, a sortable and refinable item field mapping, and a retrievable item field mapping; and

a search engine to provide search results based in part on aspects of the indexed information; and

memory to store the indexed information.

13. The system of claim 12 , further comprising a shared index including a number of shared tenant properties and a limited index including the reusable index fields and mapped tenant data.

14. The system of claim 12 , further comprising a virtualized index including reusable physical index fields associated with multiple tenants corresponding to a number of tenant-specific and non-overlapping properties.

15. A computer storage device that stores instructions which, when executed by a processor, provide a service by:

using a crawler component to crawl items of tenant domains as part of collecting tenant information to index including information associated with a shared set of managed properties and information associated with tenant-specific properties;

using an indexing component and a number of defined reusable index fields as part of indexing the tenant information by mapping data of the same data types for different tenants of a plurality of tenants to the number of defined reusable index fields, each reusable index field having a field type to manage the distinct tenant-specific properties as part of providing indexing services for the plurality of tenants;

receiving the tenant information associated with the plurality of tenants and tenant-specific properties;

populating an indexing structure including using the number of defined reusable index fields for different types of tenant information based in part on underlying field types, the tenant-specific properties, and corresponding tenant information; and

storing the indexing structure.

16. The storage device of claim 15 that stores instructions which, when executed by a processor, provide a service by populating the number of defined reusable index fields according to an underlying field type including sortable, refinable, queryable, and retrievable field types.

17. The storage device of claim 15 that stores instructions which, when executed by a processor, provide a service by virtualizing physical index fields across multiple tenants as part of a cloud deployment.

18. The storage device of claim 15 that stores instructions which, when executed by a processor, manage aspects of a main index including properties shared by multiple tenants and aspects of a reusable field index including unshared properties of various tenants.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2011
From: SOLHEIM, HELGE GRENAGER; FLEDSBERG, OYSTEIN; ROARK, EVAN MATTHEW; SUSAEG, MICHAEL
To: MICROSOFT CORPORATION
Reel/Frame 026206/0258 →
Continuity (1)
Related Publication 20120233147A1 · Sep 13, 2012