1. A computer implemented method for providing search results for display, comprising: receiving a search constraint having a plurality of unique words; determining at least one context for each unique word, at least one unique word having more than one context; establishing a plurality of context scenarios wherein each context scenario is based upon personal characteristics of a user entering the search constraint, each context scenario comprising each of the unique words correlated with a respective context, at least one context correlated to one of the unique words in a first context scenario being different than another context correlated to the same unique word in the other of the context scenarios; ranking the context scenarios; receiving a user selection of a search result; and updating a knowledge base for the user that is used to rank relevancy of context scenarios based on the user selection of the search result.