18. A system including memory and one or more processors operable to execute instructions, stored in the memory, comprising instructions to perform the operations of: identifying a respective ordered list of search result documents for each query in a plurality of queries; identifying: a given query in the plurality of queries; a first and second grouping in the ordered list for the given query; and a first and second grouping in the ordered list for each of the remaining queries in the plurality of queries; determining non-overlap scores between the given query and each of the remaining queries in the plurality of queries, wherein the non-overlap scores measure dissimilarities between the search result documents within the first grouping in the ordered list for the given query and the first grouping in the ordered list for each of the remaining queries in the plurality of queries; selecting one or more candidate queries from the remaining queries in the plurality of queries based on the non-overlap scores; determining overlap scores between the given query and each of the candidate queries, wherein the overlap scores measure similarities between the search result documents within the second grouping in the ordered list for the given query and the second grouping in the ordered list for each of the candidate queries; selecting one or more related queries from the candidate queries based on the overlap scores; and storing data associating the related queries with the given query.
31. The system of claim 18 , wherein: the queries in the plurality of queries are past queries submitted by prior users; and selecting one or more of the candidate queries is further based on a frequency that the respective candidate queries were submitted by the prior users.