1. A method for performing a semantic search to retrieve documents from a document repository, comprising: a processor accepting through a graphical interface a search phrase provided by a user; the processor analyzing the search phrase and suggesting a plurality of semantic search phrases generated from a stored vocabulary of an ontology to suggest a context; the processor accepting a first semantic search phrase selected from the plurality of semantic search phrases; the processor indexing and semantically tagging a plurality of documents in a storage medium, wherein at least one document was unstructured prior to the indexing and semantically tagging, wherein indexing and semantically tagging the plurality of documents comprises the processor weighing a plurality of semantic concepts generated from a plurality of extracted noun phrases, wherein the plurality of semantic concepts is weighed by term significance (TS) scores, wherein the TS scores are calculated with both semantic and statistical information, and wherein the semantic information includes lexical chaining Word Sense Disambiguation (WSD) scores and Depth and Information Content (IC) values, and the statistical information includes Term Frequency (TF) and Inverse Google Popularity (IGP); the processor extracting a plurality of semantic tags from the indexed and semantically tagged documents; and the processor defining a plurality of groups based on the indexed and semantically tagged documents, wherein the documents in the plurality of documents are indexed with unique identifications of semantic tags, and wherein the processor searches the indexed documents based on a unique identification of the first semantic search phrase.