27. A server device comprising: a memory to store instructions; and a processor to execute the instructions to: determine one or more alternative terms for one or more terms in the search query; obtain search results based on the search query and based on an indexed corpus of documents, each search result identifying one or more documents in the indexed corpus of documents; define a query context as a plurality of the documents identified by the search results; compare the query context to the alternative terms to generate one or more valid ones of the alternative terms; and incorporate one or more of the valid ones of the alternative terms into the search query to obtain a modified search query.
27. A server device comprising: a memory to store instructions; and a processor to execute the instructions to: determine one or more alternative terms for one or more terms in the search query; obtain search results based on the search query and based on an indexed corpus of documents, each search result identifying one or more documents in the indexed corpus of documents; define a query context as a plurality of the documents identified by the search results; compare the query context to the alternative terms to generate one or more valid ones of the alternative terms; and incorporate one or more of the valid ones of the alternative terms into the search query to obtain a modified search query. 34. The server device of claim 27 , where, when the processor is to determine one or more alternative terms for one or more terms in the search query, the processor is further to: find terms from historical query logs that contain historical queries by matching the search query to historical queries that contain the search query as a subset of terms in the historical query, the alternative terms being determined as additional terms in the matching historical queries.