System and method for scoping searches using index keys
AssigneeMicrosoft Corporation
InventorsChadd Creighton Merrigan, Kyle G. Peltonen, Dmitriy Meyerzon, David J. Lee
Life of this patent
Estimating the term…
Abstract
A set of index keys is included in an index search system that are associated with the scope of the search rather than the content of the documents that are the target of the search. These scope related index keys, or scope keys allows the scope of the search to be selected, reducing the number of documents that a search is required to sift through to obtain results. Furthermore, compound scopes are recognized and stored such that an index of complex search scopes is provided to eliminate rehashing of the searches based on these complex search scopes.
Claims17
A computer-implemented method for performing a search of a plurality of documents stored in a network of computing devices based on a query, the method comprising:
- generating at least two scope-related index keys, wherein each of the scope-related index keys is generated according to a scope attribute of at least a portion of the plurality of documents;
- generating one or more content-related index keys associated with a content of the plurality of documents, wherein the scope attribute is based on information other than the content of the plurality of documents;
- generating one or more compound scope-related index keys associated with one or more combinations of the at least two scope-related index keys;
- generating an index including:
- a first document list identifying a first subset of the plurality of documents that correspond to the at least two scope-related index keys;
- a second document list identifying a second subset of the plurality of documents that correspond to the one or more content-related index keys;
- and
- a third document list identifying a third subset of the plurality of documents that correspond to the one or more compound scope-related index keys;
- storing the index on at least one computing device in the network;
- receiving a query that identifies at least one or more of:
- a first content-related index key of the one or more content-related index keys, a first scope-related index key of the at least two scope-related index keys, and a first compound scope-related index key of the one or more compound scope-related index keys;
- and
- providing results to the query by:
- in response to the query including the first scope-related index key, searching the first document list to identify one or more of the plurality of documents that correspond to the first scope-related index key;
- in response to the query including the first content-related index key, searching the second document list to identify one or more of the plurality of documents that correspond to the first content-related index key;
- in response to the query including the first compound scope-related index key, searching the third document list to identify one or more of the plurality of documents that correspond to the first compound scope-related index key;
- and
- generating results to the query based on the searching of at least one or more of the first document list, the second document list, and the third document list.
A computer-readable storage medium that includes computer-executable instructions for performing a search of a plurality of documents based on a query, the instructions comprising:
- generating one or more content-related index keys associated with a content of the plurality of documents;
- generating at least two scope-related index keys according to one or more scope attributes of at least a portion of the plurality of documents, wherein the scope attributes are based on information other than the content of the plurality of documents;
- generating one or more compound scope-related index keys associated with one or more combinations of the at least two scope-related index keys;
- generating an index including:
- a content partition identifying a first subset of the plurality of documents that correspond to the one or more content-related index keys;
- a basic scope partition identifying a second subset of the plurality of documents that correspond to the at least two scope-related index keys;
- and
- a compound scope partition identifying a third subset of the plurality of documents that correspond to the one or more compound scope-related index keys;
- storing the index on at least one computing device in the network;
- receiving a query that identifies at least one or more of:
- a first content-related index key of the one or more content-related index keys, a first scope-related index key of the at least two scope-related index keys, and a first compound scope-related index key of the one or more compound scope-related index keys;
- and
- providing results to the query by:
- in response to the query including the first compound scope-related index key, searching the compound scope partition to identify one or more of the plurality of documents that correspond to the first compound scope-related index key;
- in response to the query including the first scope-related index key, searching the basic scope partition to identify one or more of the plurality of documents that correspond to the first scope-related index key;
- in response to the query including the first content-related index key, searching the content partition to identify one or more of the plurality of documents that correspond to the first content-related index key;
- and
- generating results to the query based on the searching of at least one or more of the compound scope partition, the basic scope partition, and the content partition.
Dependencies are inferred from the claim text.