1. A search engine comprising: a computer implemented database for storing a plurality of enhanced documents; a computer for retrieving documents from said computer implemented database; a semantic document editor executing on the computer that is operable to allow a user to edit an existing document by creating at least one searchable compound word that contains information contextually relevant to the contents of the document and associate the at least one created compound word with the document to produce an enhanced document having the compounds word associated therewith; a semantic rule engine executing on the computer that is operable to generate and store rules, each of which includes at least one compound word derived from at least one of the enhanced documents; a semantic searching means executing on the computer that uses a selected enhanced document to generate at least one searchable compound word associated with the selected enhanced document; a rule search module executing on the computer for searching the rules to find at least one rule specifying the at least one searchable compound word and at least one additional compound word to generate a set of candidate rules as rules which are possibly relevant to the selected enhanced document; a module executing on the computer for processing the set of candidate rules and adding to the selected enhanced document additional compound words specified in at least one of the rules in the set of candidate rules where the respective rule is satisfied for the selected enhanced document; a semantic query editor executing on the computer operable to enable a searcher to address the database of enhanced documents with a query, said query editor being operable to receive the query and convert it into at least one query searchable compound word that contains contextually relevant information; a search module executing on the computer operable to receive the at least one query searchable compound word and to locate the relevant enhanced documents that have compound words associated with the document matching the at least one query searchable compound word; and an output module executing on the computer for presenting any located documents to the searcher.