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.