QUERY RESULT ITERATION FOR MULTIPLE QUERIES
First Claim
7. A machine-readable storage medium storing program instructions that, when executed, cause a data processing system to perform a method of processing multiple queries against an inverted index, the method comprising:
- receiving multiple queries against an inverted index, the inverted index having stored thereon postings lists for terms, a postings list being a linked list of one or more nodes, each of the one or more nodes representing one or more items containing a term;
merging the multiple queries to a single merged query, the single merged query containing unique search terms extracted from the multiple queries;
generating a unified document set of document sets present in postings lists having items containing terms that match the unique search terms extracted from the multiple queries;
iterating the unified document set to generate a merged query result; and
returning a query result responsive to each of the multiple queries, the query result being identified in a portion of the merged query result based on the respective unique search terms extracted from the multiple queries.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for processing an inverted index are described. Multiple queries against the same inverted index are merged into merged query of unique nodes. The unique nodes are used to create a unified document set from which query result iteration is performed to eliminate redundancies and/or inefficiencies in processing the multiple queries separately. The merged query result is separated into the results for each of the multiple queries and returned to the respective originators of the queries. The unified document set can be limited to postings lists found in a single pulse of the inverted index to improve performance. Index updates can be applied to the merged query result to provide efficient and up to date query results.
-
Citations
14 Claims
-
7. A machine-readable storage medium storing program instructions that, when executed, cause a data processing system to perform a method of processing multiple queries against an inverted index, the method comprising:
-
receiving multiple queries against an inverted index, the inverted index having stored thereon postings lists for terms, a postings list being a linked list of one or more nodes, each of the one or more nodes representing one or more items containing a term; merging the multiple queries to a single merged query, the single merged query containing unique search terms extracted from the multiple queries; generating a unified document set of document sets present in postings lists having items containing terms that match the unique search terms extracted from the multiple queries; iterating the unified document set to generate a merged query result; and returning a query result responsive to each of the multiple queries, the query result being identified in a portion of the merged query result based on the respective unique search terms extracted from the multiple queries. - View Dependent Claims (1, 2, 3, 4, 5, 6, 8, 9, 10, 11)
-
-
11-1. A medium as in claim 7, wherein the inverted index is formed in pulses comprising a group of items not occurring in any other pulse in the inverted index, and further wherein generating the unified document set is limited to document sets present in postings lists found in a single pulse formed in the inverted index.
-
12. A data processing system comprising:
-
means for receiving multiple queries against an inverted index, the inverted index having stored thereon postings lists for terms, a postings list being a linked list of one or more nodes, each of the one or more nodes representing one or more items containing a term; means for merging the multiple queries to a single merged query, the single merged query containing unique search terms extracted from the multiple queries; means for generating a unified document set of document sets present in postings lists having items containing terms that match the unique search terms extracted from the multiple queries; means for iterating the unified document set to generate a merged query result; means for returning a query result responsive to each of the multiple queries, the query result being identified in a portion of the merged query result based on the respective unique search terms extracted from the multiple queries.
-
-
13. A query server for processing multiple queries against an inverted index, the query server comprising:
-
a query processor to service a first query against an inverted index, the first query received from a first application, the inverted index having stored thereon postings lists for terms, a postings list being a linked list of one or more nodes, each of the one or more nodes representing one or more items containing a term, wherein the query processor is to; place the first query in a query queue if the query processor is busy; upon becoming idle, combining the first query with a second query in the query queue into a single merged query, the second query having been received from a second application, the single merged query containing unique search terms extracted from the first and second queries; generating a unified document set of document sets present in postings lists having items containing terms that match the unique search terms extracted from the first and second queries; iterating the unified document set to generate a merged query result; and returning a query result to each of the first and second applications responsive to each of the first and second queries, each query result being identified in a portion of the merged query result based on the respective unique search terms extracted from each of the first and second queries. - View Dependent Claims (14)
-
Specification