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; 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 tagged documents.