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. 10. The method of claim 1 , wherein determining a quality of each candidate query rewrite based on an analysis of search results responsive to the candidate query rewrite includes obtaining search results responsive to each candidate query rewrite and determining a quality of the search results.