1. A computer implemented method executed by a processor for returning search results based on speculative query expansion, comprising: receiving an initial query; retrieving a set of documents based on the initial query, the set of documents comprising documents judged either as relevant or non-relevant to the initial query, and unjudged documents; executing a speculative query expansion process based on the retrieved set of documents, comprising: a. generating a list of query expansion terms based on the judged documents; b. assigning a weight for each of the query expansion terms in the generated list; c. selecting at least one term from the list of query expansion terms; d. adding the selected at least one term to the initial query to create a speculatively expanded query wherein the speculatively expanded query is indicative of a query possibility; e. generating a list of documents from the set of documents based on the speculatively expanded query; f. assigning a pseudo metric score for the speculatively expanded query based on the order of judged documents within the generated list wherein the pseudo metric score is indicative of an application of a metric on the judged documents; g. if no termination condition is met to terminate the speculative query process is received, returning to step c; and h. returning the speculatively expanded query with the highest pseudo metric score; returning search results based on the speculative query expansion process.