1. A non-transitory computer-readable medium encoded with a ranking application comprising modules executable by a processor and configured to rank document data retrieved from a data source in response to a search request, the ranking application comprising: a term frequency module to: query the data source to identify a plurality of documents that each comprises a key term, the key term matching a search term in the search request; and determine a corresponding term frequency value for the key term in each of the plurality of documents, the term frequency value comprising a total number of occurrences of the key term in a particular document; a negation module to: retrieve at least one negation term and at least one negation rule from a memory; compare the at least one negation term according to the at least one negation rule to other terms in each document that are within a selected proximity of each occurrence of the key term to determine if each occurrence of the key term has a negative context; determine that the at least one negation term matches another term within the selected proximity of the particular occurrence of the key term according to the at least one negation rule and exclude a particular occurrence of the key term in at least one document for having the negative context; and determine a corresponding term weight value for the key term in each document based on each occurrence of the key term that has not been excluded; a ranking module to determine a corresponding relevancy ranking value for each document based on the corresponding term frequency value and corresponding term weight value; and a user interface module to generate a list of document data for display, the list identifying each document of the plurality of documents in order based on the corresponding relevancy ranking value of each document.