System and method for selectively searching partitions of a database
First Claim
1. A computer implemented document search system comprising multiple computing devices each having at least one processor and memory, said document search system, comprising:
- a first document index;
a second document index comprising a plurality of document index partitions, each partition comprising a subset of the second document index, each document index partition comprising a plurality of document index sub-partitions, each document index sub-partition configured to map terms to documents;
a plurality of partition indexes, each corresponding to a respective document index partition, each partition index mapping a specified term to a subset of the document index sub-partitions of the corresponding document index partition;
wherein the plurality of partition indexes together correspond to all partitions of the second document index;
a plurality of balancers, each respective balancer configured to receive a search query having a set of terms, comprising one or more terms, to search a respective partition index of the plurality of partition indexes so as to identify a subset of the document index sub-partitions that contain the set of terms, and to direct the search query to only the identified subset of the document index sub-partitions;
wherein the plurality of balancers operate in parallel;
wherein the plurality of balancers direct each search query to all of the partition indexes in the plurality of partition indexes; and
a mixer for obtaining first search results from a first document index for documents that satisfy the search query, for determining whether first search results satisfy predetermined criteria, and when the first search results do not satisfy the predetermined criteria, for performing additional operations, including sending the search query to all of the plurality of balancers and receiving and collating search results from the plurality of balancers to produce second search results.
2 Assignments
0 Petitions
Accused Products
Abstract
When a search query is received, a plurality of partition indexes are searched using the set of search terms in the search query. Each partition index corresponds to a partition of a document index. The search of each respective partition index identifies a subset of a plurality of document index sub-partitions corresponding to the respective partition index. Next, the search query is executed by only those document index sub-partitions identified by the subsets, thereby identifying documents that satisfy the search query. By using the partition index to reduce the number of document index sub-partitions searched while executing a search query, the execution of the search query is made more efficient.
-
Citations
20 Claims
-
1. A computer implemented document search system comprising multiple computing devices each having at least one processor and memory, said document search system, comprising:
-
a first document index; a second document index comprising a plurality of document index partitions, each partition comprising a subset of the second document index, each document index partition comprising a plurality of document index sub-partitions, each document index sub-partition configured to map terms to documents; a plurality of partition indexes, each corresponding to a respective document index partition, each partition index mapping a specified term to a subset of the document index sub-partitions of the corresponding document index partition;
wherein the plurality of partition indexes together correspond to all partitions of the second document index;a plurality of balancers, each respective balancer configured to receive a search query having a set of terms, comprising one or more terms, to search a respective partition index of the plurality of partition indexes so as to identify a subset of the document index sub-partitions that contain the set of terms, and to direct the search query to only the identified subset of the document index sub-partitions;
wherein the plurality of balancers operate in parallel;
wherein the plurality of balancers direct each search query to all of the partition indexes in the plurality of partition indexes; anda mixer for obtaining first search results from a first document index for documents that satisfy the search query, for determining whether first search results satisfy predetermined criteria, and when the first search results do not satisfy the predetermined criteria, for performing additional operations, including sending the search query to all of the plurality of balancers and receiving and collating search results from the plurality of balancers to produce second search results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented method of searching for documents, comprising:
-
receiving a search query containing a set of search terms, the set of search terms having at least one search term; searching a first document index for documents that satisfy the search query to produce first search results; when the first search results satisfy predetermined criteria, transmitting at least a portion of the first search results as a response to the search query; when the first search results do not satisfy the predetermined criteria, performing additional operations, comprising; searching for the set of search terms in each of a plurality of partition indexes, each partition index corresponding to a document index partition of a second document index, wherein the search of each respective partition index identifies a subset of a plurality of document index sub-partitions of the document index partition corresponding to the respective partition index that contain the set of search terms; and searching, in only those document index sub-partitions in the identified subsets, for documents containing the set of search terms; and receiving and collating second search results from the searched document index sub-partitions in the identified subsets; transmitting at least a portion of the second search results as a response to the search query; wherein the plurality of partition indexes together correspond to all partitions of the second document index and each search query is directed to all the partition indexes in the plurality of partition indexes; wherein each respective partition index maps any specified term to a respective subset of the document index sub-partitions of a corresponding document index partition, and wherein each document index sub-partition in the respective subset maps the specified term to at least one document containing the specified term. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification