14. A computer implemented method for performing a search of a corpus of documents for similarity to a query having multiple terms using an inverted index of the corpus of documents, the method comprising the sequential steps of: (a) retrieving a first portion of the inverted index corresponding to a first plurality of documents from a first memory into a second memory; (b) searching the first portion of the inverted index for each of the query terms and determining a number of occurrences of the query terms in each of the documents in the first portion of the inverted index; (c) calculating similarity scores for each of the documents in the first portion of the inverted index based on the number of occurrences of the query terms in the documents; (d) retrieving a subsequent portion of the inverted index corresponding to a subsequent plurality of documents from the first memory into the second memory; (e) searching the subsequent portion of the inverted index for each of the query terms and determining a number of occurrences of the query terms in each of the documents in the subsequent portion of the inverted index; (f) calculating similarity scores for each of the documents in the subsequent portion of the inverted index based on the number of occurrences of the query terms in the documents; and (g) repeating steps (d) through (f) until a similarity score has been calculated for each of the documents in the corpus of documents.
18. The method of claim 14, further comprising the step of storing a predetermined number of the highest similarity scores in the second memory as the searching and calculating steps are performed.