1. A computer-implemented method, comprising: receiving a plurality of search results responsive to a query, wherein the query includes one or more search keywords, and wherein the plurality of search results have an associated order, where the particular order is determined using a ranking criteria; processing each search result in the plurality of search results according to the order for the plurality of search results to generate a final group of search results, the final group of search results including a plurality of final search results from the plurality of search results, the processing including, adding a first search result in the plurality of search results to the final group of search results, wherein the first search result is first in the order for the plurality of search results, and for each other search result of the plurality of search results: determining whether a first document corresponding to the search result is a query-specific duplicate of a second document corresponding to any of the search results in the final group of search results, and if the first document corresponding to the search result is not a query-specific duplicate of the second document corresponding to any of the remaining search results in the final group of search results, adding the search result to the final set of search results before processing any other search result following the search result in the order, and otherwise not adding the search result to the final set of search results; and providing the final group of search results.