1. A method for processing a query, the method comprising the computer implemented steps of: receiving a user query that includes an ambiguous query term; receiving from a first client operated by the user, in a first request that includes said user query, a user context vector; wherein the user context vector includes first context data derived from first content displayed at the first client; wherein the first content is content that was displayed by a first content presentation application at the first client, when the user query was entered by the user; wherein the user context vector includes one or more terms that are not part of the user query; identifying a plurality of meanings for the ambiguous query term; determining whether the user context vector resolves the ambiguous query term; transmitting to a user data indicating each of the plurality of meanings to the user, for selection by the user; wherein transmitting to a user data indicating each of the plurality of meanings to the user, for selection by the user, occurs in response to determining that the user context vector does not resolve the ambiguous query term; receiving a user selection of one of the plurality of meanings; generating a search result using at least the user query, a first context vector based on the selected meaning, and a list of hits obtained from searching a search corpus, wherein the first context vector includes at least one term; and transmitting the search result for presentation to the user; wherein the method is performed by one or more computing devices.