1. A self-enhancing search system for automatically providing expanded keyword searches comprising: a semantic taxonomy stored on least one computing device, the semantic taxonomy containing semantic node terms in a hierarchical structure, each semantic node term identifying groups of related keywords; a search system text analyzer stored on the least one computing device, wherein the search system text analyzer periodically looks through a set of documents for a database and identifies keyword terms used in each of the documents that occur in the hierarchical structure; a semantic binder stored on the least one computing device, the semantic binder for attaching a textual index to each of the documents in the set of the documents, the textual index for each of the documents including at least one semantic node term that identifies keyword terms used in the document; a semantic dictionary stored on the at least one computing device, the semantic dictionary including a table that maps user query terms to semantic node terms in the semantic taxonomy; and a relevant document finder stored on the least one computing device, which, only in response to a mapping, based on the semantic dictionary, between a keyword query term in a users keyword query entry with a semantic node term, automatically, without user intervention, enhances the users keyword query entry with the semantic node term to create an enhanced keyword query, the enhanced keyword query including both the keyword query term and the semantic node term, and, based on the enhanced keyword query, locates documents in the set of documents that contain a match for the keyword query term and documents in the set of documents that do not contain a match for the keyword query term in the users keyword query but contain other keyword search terms that are linked to the keyword query term by the semantic node term mapped to the keyword query term in the semantic dictionary to thereby increase the number of documents returned to the user.