8. A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, perform a method, the method comprising: receiving search results identifying a plurality of documents resulting from a search, the plurality of documents containing one or more terms; generating a first matrix containing a term column representing the one or more terms and a document column representing the documents, wherein at least one row of the first matrix correlates one of the plurality of documents with one of the terms; selecting the document column of the first matrix or the term column of the first matrix as a sort preference; sorting the first matrix according to the sort preference; generating a second matrix containing values representing a measure of overlap between the plurality of documents and the terms, based on the sorted first matrix; and calculating cumulative confidence scores according to the values of the second matrix and ranking the search results according to the cumulative confidence scores; wherein the calculated cumulative confidence scores are determined by normalizing the second matrix with a third matrix, the third matrix having a plurality of element positions; and wherein, for each of the plurality of element positions, an element position has a value equaling the total number of unique words found in one or more of the plurality of documents corresponding to the element position.
9. The computer-readable storage medium of claim 8 , wherein the terms are phrases including a plurality of words.