1. A computer-implemented method comprising: receiving a first search query from a user associated with a user device; obtaining a plurality of queries received from the user in a current query session, the plurality of queries including the first search query and one or more queries received from the user before the first search query; generating a plurality of query suggestions for the first search query including replacing one or more first terms occurring in the first search query with one or more second terms; computing a respective relevance score between the plurality of queries received from the user in the current query session and each query suggestion of the plurality of query suggestions; computing for each of the plurality of query suggestions a respective position of a selected search result that was previously provided in response to receiving the query suggestion as a search query; computing a respective ranking score for each of the plurality of query suggestions based on the respective relevance score for each of the plurality of query suggestions and the respective position of the selected search result that was previously provided in response to receiving the query suggestion as a search query; ranking the plurality of query suggestions according to the computed ranking score for each of the plurality of query suggestions; and providing one or more highest-ranked query suggestions to the user in response to receiving the first search query.