18. A method for performing a search based on a search query, performed by a server device, the method comprising: receiving, by the server device, the search query from a user, the search query including one or more search terms; generating, by the server device, additional terms that are related to the one or more search terms; generating, by the server device, a query context that includes web documents selected based on the search query; filtering, by the server device, the additional terms using the query context to remove those of the additional terms that are not semantically similar to the one or more search terms; and incorporating, by the server device, one or more remaining ones of the additional terms into the search query to form a modified search query.
22. The method of claim 18 , where generating the additional terms includes: finding 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 additional terms being determined as terms in the matching historical queries in addition to the search query.