1. A method comprising: receiving search results in response to a query, the query including one or more keywords, the search results including a first search result and a second search result; generating a set of final search results from the received search results with one or more processors, including: adding the first search result to the set of final search results; determining that a first document corresponding to the first search result and a second document corresponding to the second search result are query-specific duplicate documents from a comparison of one or more first query-relevant parts of the first document and one or more second query-relevant parts of the second document, where each query-relevant part includes at least one of the one or more keywords; and in response to the determination, not adding the second search result to the set of final search results; and presenting the set of final search results.