Real-time search of vertically partitioned, inverted indexes
First Claim
Patent Images
1. A computer system for processing a query, comprising:
- a processor; and
a storage device connected to the processor, wherein the storage device has stored thereon a program, and wherein the processor is configured to execute instructions of the program to perform operations, wherein the operations comprise;
receiving the query that includes a document constraint and an annotation constraint;
parsing the query to separate the document constraint from the annotation constraint and to create a query parse tree with a primary query processor at a lowest level of the query parse tree and with an auxiliary query processor at the lowest level of the query parse tree;
processing the document constraint with the primary query processor to generate a first posting list that is ordered by document identifier;
processing the annotation constraint with the auxiliary query processor to generate a second posting list that is ordered by annotation identifier and that includes the document identifier associated with each annotation that is identified by the annotation identifier and that is re-ordered by the document identifier;
evaluating the query parse tree with the primary query processor and with the auxiliary query processor by iterating through the first posting list and the second posting list; and
performing a run-time join of the first posting list and the second posting list to obtain a final result set that is returned in response that combines documents and annotations that have a same document identifier with a union operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided are techniques for processing a query. A query including constraints for at least two vertically partitioned, inverted indexes is received. The constraints in the query are separated based on the vertically partitioned, inverted indexes. A document identifier iterator is obtained for each of the constraints, wherein each document identifier iterator is associated with a posting list, and wherein each posting list is ordered by document identifier order. A run-time join of the posting lists is performed to obtain a final result set.
36 Citations
12 Claims
-
1. A computer system for processing a query, comprising:
-
a processor; and a storage device connected to the processor, wherein the storage device has stored thereon a program, and wherein the processor is configured to execute instructions of the program to perform operations, wherein the operations comprise; receiving the query that includes a document constraint and an annotation constraint; parsing the query to separate the document constraint from the annotation constraint and to create a query parse tree with a primary query processor at a lowest level of the query parse tree and with an auxiliary query processor at the lowest level of the query parse tree; processing the document constraint with the primary query processor to generate a first posting list that is ordered by document identifier; processing the annotation constraint with the auxiliary query processor to generate a second posting list that is ordered by annotation identifier and that includes the document identifier associated with each annotation that is identified by the annotation identifier and that is re-ordered by the document identifier; evaluating the query parse tree with the primary query processor and with the auxiliary query processor by iterating through the first posting list and the second posting list; and performing a run-time join of the first posting list and the second posting list to obtain a final result set that is returned in response that combines documents and annotations that have a same document identifier with a union operation. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product for processing a query, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform; receiving the query that includes a document constraint and an annotation constraint; parsing the query to separate the document constraint from the annotation constraint and to create a query parse tree with a primary query processor at a lowest level of the query parse tree and with an auxiliary query processor at the lowest level of the query parse tree; processing the document constraint with the primary query processor to generate a first posting list that is ordered by document identifier; processing the annotation constraint with the auxiliary query processor to generate a second posting list that is ordered by annotation identifier and that includes the document identifier associated with each annotation that is identified by the annotation identifier and that is re-ordered by the document identifier; evaluating the query parse tree with the primary query processor and with the auxiliary query processor by iterating through the first posting list and the second posting list; and performing a run-time join of the first posting list and the second posting list to obtain a final result set that is returned in response that combines documents and annotations that have a same document identifier with a union operation. - View Dependent Claims (8, 9, 10, 11, 12)
Specification