1. A method comprising: receiving a user-submitted query originating from a user; and in response to receiving the user-submitted query, and prior to returning search results associated with the user-submitted query: identifying a plurality of candidate queries, without further input from the user; for each candidate query, without further input from the user: extracting three or more features, each feature reflecting a measurement of effectiveness of the candidate query with respect to the user-submitted query, wherein the three or more features including an estimated normalized discounted cumulative gain, wherein the measurement of effectiveness of the candidate query based, at least in part, on a match feature that reflects how well the candidate query matches search results of the candidate query, a cross match feature that reflects how well the user-submitted query matches search results of the candidate query, and a similarity feature that reflects similarities between search results of the user-submitted query and search results of the candidate query; and generating a feature vector that includes each of the three or more features as individual components of the feature vector; rank ordering the candidate queries based at least in part on the feature vectors of the candidate queries; and suggesting one or more of the top-ranked candidate queries as alternate queries for the user-submitted query.