17. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising: obtaining, in a server device, a plurality of first search results responsive to a first search query of a user, the plurality of first search results being ranked in an order; identifying a second search query based on the second search query being previously submitted by the user and being related to the first search query; obtaining one or more second search results responsive to the second search query; identifying a particular search result of the second search results; determining that the particular search result is not within a threshold number of highest-ranked first search results of the first search results responsive to the first search query; in response to determining that the particular search result is not within the threshold number of the highest-ranked first search results of the first search results responsive to the first search query, modifying the first search results by providing the particular search result within the threshold number of highest-ranked first search results of the first search results responsive to the first search query; and providing the modified plurality of first search results in response to the first search query.
17. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising: obtaining, in a server device, a plurality of first search results responsive to a first search query of a user, the plurality of first search results being ranked in an order; identifying a second search query based on the second search query being previously submitted by the user and being related to the first search query; obtaining one or more second search results responsive to the second search query; identifying a particular search result of the second search results; determining that the particular search result is not within a threshold number of highest-ranked first search results of the first search results responsive to the first search query; in response to determining that the particular search result is not within the threshold number of the highest-ranked first search results of the first search results responsive to the first search query, modifying the first search results by providing the particular search result within the threshold number of highest-ranked first search results of the first search results responsive to the first search query; and providing the modified plurality of first search results in response to the first search query. 18. The computer program product of claim 17 , wherein the operations further comprise: determining the second search query is related to the first search query based on similarity between one or more terms of the first search query and one or more terms of the second search query.