15. A computer-implemented method executed by one or more computing devices, the 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 each document snippet 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.
15. A computer-implemented method executed by one or more computing devices, the 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 each document snippet 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. 17. The computer-implemented method of claim 15 , wherein ranking a candidate topic is based on one or more selected from the following: a total number of documents assigned to the candidate topic; ranking of each document assigned to the candidate topic; ranking of a selection of documents assigned to the topic; and a word length of the candidate topic.