1. A computer implemented method of clustering a plurality of documents from a data stream comprising: updating a text corpus by removing one or more words that have occurred least frequently in a preprocessed document, generating a Term Frequency Inverse Document Frequency (TFIDF) to be used as 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 representative of clusters that have had another document added to them within a predefined time window; and assigning the document to a cluster based on the determined distances.