5. One or more computer-readable media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform a method comprising: receiving a search query; determining an ontology mapping exists for the search query; if an ontology mapping exists for the search query, retrieving ( 308 ) a first set of topics based on the ontology mapping and adding the first set of topics to a list of topics; performing a search using the search query to obtain a plurality of search results, each search result corresponding with a document snippet; receiving at least a portion of the document snippets as a document set for further analysis; comparing each document snippet in the document set to an ontology of topics; for each document snippet in which positive topic identification is determined, assigning the document snippet to a corresponding topic and removing the document snippet from the document set; adding at least one topic identified from the ontology of topics to the list of topics; comparing each document snippet remaining in the document set to an ontology of partial topics; for each document snippet in which positive partial topic identification is determined, assigning the document snippet to a corresponding partial topic and removing the document snippet from the document set; naming at least one partial topic having one or more assigned document snippets; adding at least one named partial topic to the list of topics; computing independent key-phrases from document snippets remaining in the document set, wherein computing the independent key-phrases from document snippets remaining in the document set comprises: generating candidate key-phrases from the document snippets remaining the document set, evaluating candidate key-phrases for independence, merging mutually dependent candidate key-phrases, and identifying a most frequent candidate key-phrase for each group of merged mutually dependent key-phrases; assigning documents to independent key-phrases; identifying at least one key-phrase topic; adding the at least one key-phrase topic to the list of topics; ranking topics within the list of topics; selecting topics based on ranking; generating a table of contents using the selected topics; and providing a search results page in response to the search query, the search results page including the table of contents and a search results area for presenting search results.
5. One or more computer-readable media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform a method comprising: receiving a search query; determining an ontology mapping exists for the search query; if an ontology mapping exists for the search query, retrieving ( 308 ) a first set of topics based on the ontology mapping and adding the first set of topics to a list of topics; performing a search using the search query to obtain a plurality of search results, each search result corresponding with a document snippet; receiving at least a portion of the document snippets as a document set for further analysis; comparing each document snippet in the document set to an ontology of topics; for each document snippet in which positive topic identification is determined, assigning the document snippet to a corresponding topic and removing the document snippet from the document set; adding at least one topic identified from the ontology of topics to the list of topics; comparing each document snippet remaining in the document set to an ontology of partial topics; for each document snippet in which positive partial topic identification is determined, assigning the document snippet to a corresponding partial topic and removing the document snippet from the document set; naming at least one partial topic having one or more assigned document snippets; adding at least one named partial topic to the list of topics; computing independent key-phrases from document snippets remaining in the document set, wherein computing the independent key-phrases from document snippets remaining in the document set comprises: generating candidate key-phrases from the document snippets remaining the document set, evaluating candidate key-phrases for independence, merging mutually dependent candidate key-phrases, and identifying a most frequent candidate key-phrase for each group of merged mutually dependent key-phrases; assigning documents to independent key-phrases; identifying at least one key-phrase topic; adding the at least one key-phrase topic to the list of topics; ranking topics within the list of topics; selecting topics based on ranking; generating a table of contents using the selected topics; and providing a search results page in response to the search query, the search results page including the table of contents and a search results area for presenting search results. 11. The one or more computer-readable media of claim 5 , wherein naming a partial topic comprises: identifying occurrences of a partial topic identifier word for the partial topic within one or more document snippets assigned to the partial topic; extracting words and/or phrases occurring around identified occurrences of the partial topic identifier word within the one or more document snippets; counting frequency of each extracted word and/or phrase; selecting a most frequently used word or phrase; and naming the partial topic using the partial topic identifier and the most frequently used word or phrase.