System and method for subset searching and associated search operators
First Claim
Patent Images
1. A search system, comprising:
- a processor;
a data store, having a corpus and an index of the corpus stored thereon, the corpus comprising a set of objects, each object having a corresponding identifier the index including a set of terms, each of the set of terms associated with one or more identifiers of objects which include that term;
a computer readable medium, having instructions for;
receiving a search query having a set of search terms and a subset operator, the subset operator including a threshold and the set of search terms, wherein the threshold defines an amount of search terms of the set of search terms that are present in each object of the set of objects that satisfies the subset operator and the subset operator is executable for finding each object of the set of objects that includes the amount of search terms, wherein the amount of search terms is specified as a number value or a percentage value of the set of search terms; and
executing the subset operator by;
generating a search tree based on the set of search terms, the search tree having a subset operator node including a subset process configured according to the threshold, wherein the subset operator node includes a set of sub-nodes, each sub-node comprising a term process for a respective search term in the set of search terms;
executing the search tree using the index to determine one or more objects of the set of objects that satisfy the subset operator, wherein executing the search tree comprises;
for each term process;
identifying a result for that term process using the index, the result identifying one or more objects of the set of objects that include the respective term for that term process; and
returning the identified result for that term process identifying the one or more objects that include the respective term for that term process; and
executing the subset process by;
evaluating the results returned by each of the term processes by combining the respective results returned by each of the term processes to determine each of the one more objects having the amount of terms in the set of search terms equal or greater than the amount of search terms defined by the threshold; and
returning the identifiers for the one or more objects determined by the subset process that satisfy the subset operator.
5 Assignments
0 Petitions
Accused Products
Abstract
Embodiments as disclosed may provide a search operator that addresses the problem of query construction for finding objects that include some number (N) of a set of terms (M). Moreover, embodiments as disclosed herein may efficiently implement the searches specified by such subset operators using a subset process that combines results from a set of term processes where only one term process may be needed for each search term (or search term variant).
31 Citations
18 Claims
-
1. A search system, comprising:
-
a processor; a data store, having a corpus and an index of the corpus stored thereon, the corpus comprising a set of objects, each object having a corresponding identifier the index including a set of terms, each of the set of terms associated with one or more identifiers of objects which include that term; a computer readable medium, having instructions for; receiving a search query having a set of search terms and a subset operator, the subset operator including a threshold and the set of search terms, wherein the threshold defines an amount of search terms of the set of search terms that are present in each object of the set of objects that satisfies the subset operator and the subset operator is executable for finding each object of the set of objects that includes the amount of search terms, wherein the amount of search terms is specified as a number value or a percentage value of the set of search terms; and executing the subset operator by; generating a search tree based on the set of search terms, the search tree having a subset operator node including a subset process configured according to the threshold, wherein the subset operator node includes a set of sub-nodes, each sub-node comprising a term process for a respective search term in the set of search terms; executing the search tree using the index to determine one or more objects of the set of objects that satisfy the subset operator, wherein executing the search tree comprises; for each term process; identifying a result for that term process using the index, the result identifying one or more objects of the set of objects that include the respective term for that term process; and returning the identified result for that term process identifying the one or more objects that include the respective term for that term process; and executing the subset process by; evaluating the results returned by each of the term processes by combining the respective results returned by each of the term processes to determine each of the one more objects having the amount of terms in the set of search terms equal or greater than the amount of search terms defined by the threshold; and returning the identifiers for the one or more objects determined by the subset process that satisfy the subset operator. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer readable medium, comprising instructions for:
-
storing a corpus and an index of the corpus in a data store, the corpus comprising a set of objects, each object having a corresponding identifier the index including a set of terms, each of the set of terms associated with one or more identifiers of objects which include that term; receiving a search query having a set of search terms and a subset operator, the subset operator including a threshold and the set of search terms, wherein the threshold defines an amount of search terms of the set of search terms that are present in each object of the set of objects that satisfies the subset operator and the subset operator is executable for finding each object of the set of objects that includes the amount of search terms, wherein the amount of search terms is specified as a number value or a percentage value of the set of search terms; and executing the subset operator by; generating a search tree based on the set of search terms, the search tree having a subset operator node including a subset process configured according to the threshold, wherein the subset operator node includes a set of sub-nodes, each sub-node comprising a term process for a respective search term in the set of search terms; executing the search tree using the index to determine one or more objects of the set of objects that satisfy the subset operator, wherein executing the search tree comprises; for each term process; identifying a result for that term process using the index, the result identifying one or more objects of the set of objects that include the respective term for that term process; and returning the identified result for that term process identifying the one or more objects that include the respective term for that term process; and executing the subset process by; evaluating the results returned by each of the term processes by combining the respective results returned by each of the term processes to determine each of the one more objects having the amount of terms in the set of search terms equal or greater than the amount of search terms defined by the threshold; and returning the identifiers for the one or more objects determined by the subset process that satisfy the subset operator. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for implementing a subset search on a search system, comprising:
-
storing a corpus and an index of the corpus in a data store, the corpus comprising a set of objects, each object having a corresponding identifier the index including a set of terms, each of the set of terms associated with one or more identifiers of objects which include that term; receiving a search query having a set of search terms and a subset operator, the subset operator including a threshold and the set of search terms, wherein the threshold defines an amount of search terms of the set of search terms that are present in each object of the set of objects that satisfies the subset operator and the subset operator is executable for finding each object of the set of objects that includes the amount of search terms, wherein the amount of search terms is specified as a number value or a percentage value of the set of search terms; and executing the subset operator by; generating a search tree based on the set of search terms, the search tree having a subset operator node including a subset process configured according to the threshold, wherein the subset operator node includes a set of sub-nodes, each sub-node comprising a term process for a respective search term in the set of search terms; executing the search tree using the index to determine one or more objects of the set of objects that satisfy the subset operator, wherein executing the search tree comprises; for each term process; identifying a result for that term process using the index, the result identifying one or more objects of the set of objects that include the respective term for that term process; and returning the identified result for that term process identifying the one or more objects that include the respective term for that term process; and executing the subset process by; evaluating the results returned by each of the term processes by combining the respective results returned by each of the term processes to determine each of the one more objects having the amount of terms in the set of search terms equal or greater than the amount of search terms defined by the threshold; and returning the identifiers for the one or more objects determined by the subset process that satisfy the subset operator. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification