1. A computer-implemented method comprising: obtaining a plurality of queries received from a user in a current query session, wherein a most recent query received from the user in the current query session includes a first sequence of terms; identifying a plurality of second sequences of terms having highest-ranked measures of similarity with the first sequence of terms, the respective measures of similarity being determined between (1) a first feature vector for the first sequence of terms and (2) respective second feature vectors for each of the second sequences of terms, each of the one or more second sequences of terms being a subsequence of the first sequence of terms or being a sequence of which the first sequence of terms is a subsequence, wherein each value of the first feature vector and the respective second feature vectors is based on a count of a corresponding co-occurring term occurring in a corpus adjacent to each respective sequence of terms; generating a plurality of query suggestions for a particular query received in the current query session, including replacing the first sequence of terms in the most recent query with each of the plurality of highest-ranked second sequences of terms, wherein the first sequence of terms in the most recent query is a subsequence of the second sequence of terms or the second sequence of terms is a subsequence of the first sequence of terms in the most recent query; determining a respective score for each of the plurality of query suggestions, wherein the score is based on a relevance between each query suggestion and the plurality of queries received from the user in the current query session; and ranking the query suggestions by the determined scores.