Patent ID: 8266150

Claim:
A computer apparatus for managing an index of documents in a document repository, the apparatus comprising: data storage configured to store computer-readable instructions and data; a processor configured to execute computer-readable instructions and to access said data storage; a file identifier-signature index stored on the data storage, wherein the file identifier-signature index comprises index headers and a signature array, wherein each index header comprises a file identifier for a document file in the document repository, a number of signatures associated with the file identifier, and start and end positions of a block storing the associated signatures in the signature array, wherein the signature array comprises an array of signatures generated from document files in the document repository, and wherein the index headers of the file identifier-signature index are sorted in order by the file identifiers; and a signature-file identifier index stored on the data storage, wherein the signature-file identifier index comprises signature and file identifier data pairs, wherein the signature and file identifier data pairs of the signature-file identifier index are sorted in order by the signatures; a weak searching index comprising weak search table meta data and a sorted signature array, wherein the signature array is sorted in order by values of the signatures and organized into signature blocks depending on values of a first plurality of bytes of the signatures, and wherein the weak search table meta data includes start and end positions of the signature blocks; and a strong searching index comprising strong search table meta data and a sorted element array, wherein each element of the sorted element array includes a signature and associated file identifier fields, wherein the element array is sorted in order by the values of the signatures and organized into signature blocks depending on the values of the first plurality of bytes of the signatures, and wherein the strong search table meta data includes the start and end positions of the signature blocks.