1. 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; 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; 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, wherein identifying the third set of one or more candidate topics includes computing independent key-phrases from document snippets remaining in the document set by: generating candidate key-phrases from one or more document snippets, 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; 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.