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 determining a quality of each candidate query rewrite based on an analysis of search results responsive to the candidate query rewrite; selecting a candidate query rewrite having a score that satisfies a threshold value; and providing search results responsive to the selected candidate query rewrite.