1. A method comprising: receiving a search query from a user during a user session; obtaining a plurality of prior search queries by the user received during the user session; generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user; scoring each candidate query rewrite, wherein scoring each candidate rewrite includes applying a plurality of scoring factors including a quality measure for each candidate query rewrite, and wherein the quality measure is based on an analysis of search results responsive to the candidate query rewrite; selecting a top scoring candidate query rewrite in response to determining that the score satisfies a threshold value; and providing search results responsive to the selected candidate query rewrite.
1. A method comprising: receiving a search query from a user during a user session; obtaining a plurality of prior search queries by the user received during the user session; generating a plurality of candidate query rewrites, wherein the candidate query rewrites are derived from the search query and the plurality of prior search queries by the user; scoring each candidate query rewrite, wherein scoring each candidate rewrite includes applying a plurality of scoring factors including a quality measure for each candidate query rewrite, and wherein the quality measure is based on an analysis of search results responsive to the candidate query rewrite; selecting a top scoring candidate query rewrite in response to determining that the score satisfies a threshold value; and providing search results responsive to the selected candidate query rewrite. 5. The method of claim 1 , wherein applying the plurality of scoring factors for each candidate query rewrite further comprises determining a measure of popularity for each candidate query rewrite based on a collection of queries from a plurality of users.