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.
8. The method of claim 1 wherein retrieving a set of cluster centroids based on a result of the applied locality sensitive hashing function of the feature vector comprises: retrieving a set of cluster identifiers from a cluster table, the cluster identifiers each indicative of a respective cluster centroid; and retrieving the cluster centroids corresponding to the retrieved cluster identifiers from a memory.