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; retrieving a set of cluster centroids based on the feature vector of the document and a relative age of each of the cluster centroids; 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.