1. A computer-performed method of retrieving documents from a collection of documents, the method comprising: receiving, by at least one processor within a computer system, a search request including search terms descriptive of documents in the collection; first matching, by the at least one processor, the search terms to descriptive terms of entries in multiple dictionaries to determine multiple subjects specified by the search terms, the multiple dictionaries have an associated unique subject, wherein entries in the multiple dictionaries contain descriptive terms, wherein at least some of the descriptive terms are present in two or more of the multiple dictionaries, and wherein the first matching generates scores indicating the relative strength of a relationship between the search terms and the multiple subjects; second matching, by the at least one processor, multiple subjects determined by the first matching to documents in the collection of documents to obtain a subset of the collection of documents that are relevant to multiple subjects; within the computer system, maintaining records of hierarchy of classification for the entries within the multiple dictionaries for the multiple dictionaries, wherein the hierarchy records encode or store affinity values showing a strength of relationship between the entries within a corresponding dictionary; adjusting, by the at least one processor, a result of the first matching or the second matching using the records of hierarchy of classification for the multiple subjects determined by the first matching; and returning, by the at least one processor, at least a portion of the subset of the collection of documents obtained by the second matching.