1. A method of clustering a plurality of documents from a data stream comprising: generating a feature vector for a document in the plurality of documents; applying a locality sensitive hashing function to the feature vector; retrieving a set of cluster centroids based on a result of the applied locality sensitive hashing function of the feature vector; determining a distance between the feature vector of the document and each of the cluster centroids; and assigning the document to a cluster based on the determined distances.
7. The method of claim 1 wherein assigning the document to a cluster based on the determined distances comprises: if none of the determined distances between the feature vector of the document and the cluster centroids are below a predetermined threshold: assigning the document to a new cluster; designating the feature vector of the document as a cluster centroid for the new cluster; and assigning a relative age to the cluster centroid of the new cluster.