1. One or more computer-readable media, not signals per se, 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; performing a search using the search query; receiving a plurality of documents snippets from the search; identifying a first set of one or more candidate topics by comparing one or more document snippets to an ontology of topics, wherein comparing one or more document snippets of the plurality of document snippets to the ontology of topics comprises computing a feature vector for each document snippet based on words contained in each document snippet and comparing each feature vector to topics in the ontology of topics, and wherein positive topic identification for the candidate topics within a document snippet is determined by determining that the feature vector for the document snippet is within a predetermined distance of a given topic; identifying a second set of one or more candidate topics by comparing one or more document snippets to an ontology of partial topics; identifying a third set of one or more candidate topics by generating key-phrase topics from one or more document snippets; ranking candidate topics from the first, second, and third set of candidate topics; selecting one or more topics based on ranking of the candidate topics; and providing a search results page in response to the search query, the search results page having a table of contents containing the one or more topics and a search results area for presenting one or more search results.
2. The one or more computer-readable media of claim 1 , wherein identifying the second set of one or more candidate topics by comparing one or more document snippets to the ontology of partial topics comprises identifying one or more partial topics and naming each partial topic, wherein a partial topic is named by: identifying occurrences of a partial topic identifier word for the partial topic within one or more document snippets; 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.