8. A non-transitory computer storage medium encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: determining a first search results score associated with first search results obtained for a search query, wherein the first search results score is based on (i) a respective rank of each first search result, and (ii) a respective first popularity score associated with each first search result; revising the search query using a query revision rule to determine a revised search query; determining a second search results score associated with second search results obtained for the revised search query, wherein the second search results score is based on (i) a respective rank of each second search result, and (ii) a respective second popularity score associated with each second search result; comparing the first search results score with the second search results score; based on the comparison of the first search results score with the second search results score, storing the query revision rule in a collection of rules that are used to revise future search queries; and using one or more rules in the collection of rules, which includes the query revision rule, to revise a new search query.
11. The non-transitory computer storage medium of claim 8 , wherein the operations further comprise: obtaining ranking information associated with the second search results; and obtaining second popularity scores associated with the second search results, wherein a second popularity score reflects the popularity of a search result in connection with the revised search query.