1. A method for detecting one or more documents that are duplicate or near-duplicate of a first document, wherein the method comprises: obtaining a first document; obtaining one or more additional documents; generating multiple signatures for (i) the first document and (ii) each of the one or more additional documents; indexing each of the multiple signatures for each document into a metadata index; indexing each of multiple document identifiers associated with each respective signature into a signature index; retrieving a set of one or more document signatures corresponding to the first document from the metadata index; detecting one or more documents that are duplicate or near-duplicate of the first document by identifying, based on document identifiers, from the signature index, each of the one or more additional documents that are associated with at least a minimum number of signatures in common with the first document, wherein said identifying comprises dynamically implementing, at run-time, (i) a user-configurable similarity definition applicable to each of multiple document components, wherein the similarity definition is based on (a) total number of words in each document and (b) order of words in each document, and (ii) a user-configurable similarity threshold value; dynamically changing the at least one of the similarity threshold and the similarity definition; fetching a new set of one or more documents that are duplicate or near-duplicate of the first document based on the at least one of new threshold value and new definition; and displaying the new set of one or more documents that are duplicate and near-duplicate of the first document, wherein displaying the new set of one or more documents that are duplicate or near-duplicate of the first document comprises displaying the newly fetched set of one or more documents to emphasize one or more differences with the already seen set of one or more documents.