Efficient paging of search query results
First Claim
1. A server computer providing search results to a client computer, the server computer comprising a processor configured to:
- receive a request at the server computer for a search query from the client computer, the request comprising a maximum number of documents to be displayed on a results page,retrieve a number of the documents from a memory relevant to the search query, the number of documents retrieved greater than the maximum number of documents to be displayed on the results page by a predetermined amount;
determine access rights corresponding to a plurality of retrieved documents;
maintain session state information, the session state information comprising a first value representing a number of documents for which a user is determined to have access rights and a second value representing a number of documents for which the access rights have been determined;
retrieve a number of additional documents relevant to the search query, the number of additional documents determined from the session state information;
determine access rights for a plurality of the additional documents beginning with a document following the number of documents for which the access rights have been determined; and
instruct the client computer to display the documents on the results page for which the user is determined to have access rights.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and computer-readable media provide for efficient paging of search results in accordance with the access rights of a user. According to various implementations, a request for a search query results in a calculated number of search results being retrieved and analyzed for user access rights. As documents having user access rights are located, session state information corresponding to the number of located documents having user access rights and to the number of analyzed documents required to locate the number of documents having user access rights is maintained. This information is used to dynamically alter the number of subsequent documents that are retrieved in order to fill a page of results. This minimizes redundant determinations of user access rights and minimizes the number of documents required to be retrieved and analyzed in order to fulfill a search query request.
32 Citations
20 Claims
-
1. A server computer providing search results to a client computer, the server computer comprising a processor configured to:
-
receive a request at the server computer for a search query from the client computer, the request comprising a maximum number of documents to be displayed on a results page, retrieve a number of the documents from a memory relevant to the search query, the number of documents retrieved greater than the maximum number of documents to be displayed on the results page by a predetermined amount; determine access rights corresponding to a plurality of retrieved documents; maintain session state information, the session state information comprising a first value representing a number of documents for which a user is determined to have access rights and a second value representing a number of documents for which the access rights have been determined; retrieve a number of additional documents relevant to the search query, the number of additional documents determined from the session state information; determine access rights for a plurality of the additional documents beginning with a document following the number of documents for which the access rights have been determined; and instruct the client computer to display the documents on the results page for which the user is determined to have access rights. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer comprising a processor configured to provide search results to a user, the processor configured to:
-
receive a request for a search query, the request comprising a maximum number of documents to be displayed on a results page; retrieve a quantity of documents relevant to the search query that is a greater than the maximum number of documents to be displayed on the results page by a predetermined percentage; set a first document of the quantity of documents retrieved as a current result; determine whether a user is authorized to view the current result; if the user is not authorized to view the current result, remove the current result, set a next document of the quantity of documents retrieved as the current result, and determining whether the user is authorized to view the current result; if the user is authorized to view the current result, select the current result for display, set a next document of the quantity of documents retrieved as the current result, determine whether the user is authorized to view the current result; increase each of two values maintained as session state information, a first value representing a quantity of documents for which a user is determined to be authorized to view and a second value representing a quantity of documents for which the a determination has been made as to whether the user is authorized to view; determine whether the first value is equivalent to the maximum number of documents to be displayed on the results page; if the first value is equivalent to the maximum number of documents to be displayed on the results page, cause a client computer to display the documents for which the user is determined to have access rights; and if the first value is not equivalent to the maximum number of documents to be displayed on the results page, retrieve an additional quantity of documents relevant to the search query calculated using the session state information, determine access rights corresponding to the additional quantity of documents until the first value is equivalent to the maximum number of documents to be displayed on the results page, and cause the client computer to display the documents for which the user is determined to have access rights. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to:
-
receive a request for a search query, the request comprising a maximum number of documents to be displayed on a results page; retrieve a quantity of documents relevant to the search query that is a greater than the maximum number of documents to be displayed on the results page by a predetermined percentage; set a first document of the quantity of documents retrieved as a current result; determine whether a user is authorized to view the current result; if the user is not authorized to view the current result, remove the current result, set a next document of the quantity of documents retrieved as the current result, and determine whether the user is authorized to view the current result; if the user is authorized to view the current result, select the current result for display, set a next document of the quantity of documents retrieved as the current result, determine whether the user is authorized to view the current result; increase each of two values maintained as session state information, wherein a first value represents a quantity of documents for which a user is determined to be authorized to view and a second value represents a quantity of documents for which the a determination has been made as to whether the user is authorized to view; determine whether the first value is equivalent to the maximum number of documents to be displayed on the results page; if the first value is equivalent to the maximum number of documents to be displayed on the results page, cause a client computer to display the documents for which the user is determined to have access rights; and if the first value is not equivalent to the maximum number of documents to be displayed on the results page, retrieve an additional quantity of documents relevant to the search query calculated using the session state information, determine access rights corresponding to the additional quantity of documents until the first value is equivalent to the maximum number of documents to be displayed on the results page, and cause the client computer to display the documents for which the user is determined to have access rights. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification