IP Library Granted Patent US 11,327,985
Granted Patent B2
US 11,327,985 · App. 16/869,148 · Granted May 10, 2022

System and method for subset searching and associated search operators

Inventors: Patrick Thomas Sidney Pidduck (Waterloo, CA); David Alan Tausky (Waterloo, CA)
Assignee: OPEN TEXT SA ULC
G06F16/248G06F16/2246
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 11,327,985
App. No.
16/869,148
Granted
May 10, 2022
Kind
B2
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).

Claims (50)

1. A search system, comprising:

a processor;

a data store, having a corpus and an index of the corpus stored thereon, wherein the corpus comprises a set of objects;

a computer readable medium, having instructions for:

receiving a search query including a subset operator, the subset operator including a threshold and a set of search terms, wherein the threshold defines an amount of the set of search terms that are present in an object of the set of objects that satisfies the subset operator;

based on the subset operator:

generating a search tree for the subset operator 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 has, for each search term, a sub-node comprising a term process corresponding to a respective search term;

executing the search tree using the index to determine one or more objects of the corpus that satisfy the subset operator, wherein executing the search tree comprises:

executing each term process;

receiving a result from each of the executing term processes at the subset process, wherein the result from the term process identifies one or more objects of the set of objects that include the respective search term for the term process;

evaluating the result returned from each of the term processes at the subset process to determine one or more objects of the corpus having the amount of the set of terms defined by the threshold; and

returning the identification of the one or more objects of the corpus that satisfy the subset operator.

2. The search system of claim 1 , wherein at least one of the set of search terms is an expression.

3. The search system of claim 2 , wherein the expression is a word, phrase, regular expression, ranges or stems.

4. The search system of claim 1 , wherein at least one of the set of search terms includes at least one proximity value.

5. The search system of claim 1 , wherein each of the set of objects is associated with a corresponding identifier and the result from each term process comprises the identifier of a next object containing the search term associated with the term process according to an order.

6. The search system of claim 5 , wherein evaluating the result from each of the term processes by the subset process comprises determining if a number of results from each of the term processes with a same value has the amount of the set of terms defined by the threshold and if so, adding the object associated with the identifier to the one or more objects that satisfy the subset operator.

7. The search system of claim 1 , wherein the threshold is specified as a number value or a percentage value.

8. A non-transitory computer readable medium, comprising instructions for:

storing a corpus and an index of the corpus on a data store wherein the corpus comprises a set of objects;

receiving a search query including a subset operator, the subset operator including a threshold and a set of search terms, wherein the threshold defines an amount of the set of search terms that are present in an object of the set of objects that satisfies the subset operator;

based on the subset operator:

generating a search tree for the subset operator 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 has, for each search term, a sub-node comprising a term process corresponding to a respective search term;

executing the search tree using the index to determine one or more objects of the corpus that satisfy the subset operator, wherein executing the search tree comprises:

executing each term process;

receiving a result from each of the executing term processes at the subset process, wherein the result from the term process identifies one or more objects of the set of objects that include the respective search term for the term process;

evaluating the result returned from each of the term processes at the subset process to determine one or more objects of the corpus having the amount of the set of terms defined by the threshold; and

returning the identification of the one or more objects of the corpus that satisfy the subset operator.

9. The non-transitory computer readable medium of claim 8 , wherein at least one of the set of search terms is an expression.

10. The non-transitory computer readable medium of claim 9 , wherein the expression is a word, phrase, regular expression, ranges or stems.

11. The non-transitory computer readable medium of claim 8 , wherein at least one of the set of search terms includes at least one proximity value.

12. The non-transitory computer readable medium of claim 8 , wherein each of the set of objects is associated with a corresponding identifier and the result from each term process comprises the identifier of a next object containing the search term associated with the term process according to an order.

13. The non-transitory computer readable medium of claim 12 , wherein evaluating the result from each of the term processes by the subset process comprises determining if a number of results from each of the term processes with a same value has the amount of the set of terms defined by the threshold and if so, adding the object associated with the identifier to the one or more objects that satisfy the subset operator.

14. The non-transitory computer readable medium of claim 8 , wherein the threshold is specified as a number value or a percentage value.

15. A method, comprising:

storing a corpus and an index of the corpus on a data store wherein the corpus comprises a set of objects;

receiving a search query including a subset operator, the subset operator including a threshold and a set of search terms, wherein the threshold defines an amount of the set of search terms that are present in an object of the set of objects that satisfies the subset operator;

based on the subset operator:

generating a search tree for the subset operator 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 has, for each search term, a sub-node comprising a term process corresponding to a respective search term;

executing the search tree using the index to determine one or more objects of the corpus that satisfy the subset operator, wherein executing the search tree comprises:

executing each term process;

receiving a result from each of the executing term processes at the subset process, wherein the result from the term process identifies one or more objects of the set of objects that include the respective search term for the term process;

evaluating the result returned from each of the term processes at the subset process to determine one or more objects of the corpus having the amount of the set of terms defined by the threshold; and

returning the identification of the one or more objects of the corpus that satisfy the subset operator.

16. The method of claim 15 , wherein at least one of the set of search terms is an expression.

17. The method of claim 16 , wherein the expression is a word, phrase, regular expression, ranges or stems.

18. The method of claim 15 , wherein at least one of the set of search terms includes at least one proximity value.

19. The method claim 15 , wherein each of the set of objects is associated with a corresponding identifier and the result from each term process comprises the identifier of a next object containing the search term associated with the term process according to an order.

20. The method of claim 19 , wherein evaluating the result from each of the term processes by the subset process comprises determining if a number of results from each of the term processes with a same value has the amount of the set of terms defined by the threshold and if so, adding the object associated with the identifier to the one or more objects that satisfy the subset operator.

21. The method of claim 15 , wherein the threshold is specified as a number value or a percentage value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2020
From: PIDDUCK, PATRICK THOMAS SIDNEY; TAUSKY, DAVID ALAN
To: OPEN TEXT SA ULC
Reel/Frame 052649/0637 →
Continuity (3)
Continuation 15331327 · Oct 21, 2016
Provisional Application 62247324 · Oct 28, 2015
Related Publication 20200311061A1 · Oct 1, 2020