1. A computer implemented method for performing a search of a plurality of documents for similarity to a query having multiple terms using an inverted index of the plurality of documents, the method comprising the sequential steps of: (a) searching the inverted index for each of the query terms and determining a number of occurrences of the query terms in a first document; (b) calculating a similarity score for the first document based on the number of occurrences of the query terms in the first document; (c) searching the inverted index for each of the query terms and determining a number of occurrences of the query terms in a subsequent document; (d) calculating a similarity score for the subsequent document based on the number of occurrences of the query terms in the subsequent document; and (e) repeating steps (c) and (d) until a similarity score has been calculated for each of the plurality of documents.