1. A computer implemented method of performing a search, comprising: associating a plurality of user events for a user with content tags according to a pre-searching procedure, wherein the pre-searching procedure comprises: constructing feature vectors for one or more documents that are searched within a document collection, the feature vectors are determined based on a frequency of occurrence of a word or word phrase within the one or more documents of the document collection; providing a content space grid comprising content tiles, wherein each of the content tiles is associated with a grid feature vector of a plurality of grid feature vectors and is arranged within the content space grid according to subject matter of words or word phrases represented by each grid feature vector of the plurality of grid feature vectors, wherein the arrangement ensures that the content tiles shared a common boundary in the content space grid have related content associated therewith, and wherein the content tags are assigned to each of the content tiles, respectively, and identify locations of the content tiles within the content space grid; associating the content tiles with the one or more documents in the document collection by comparing the feature vectors of the one or more documents and the plurality of grid feature vectors of the content tiles and, based on the comparison, identifying the feature vectors corresponding to one or more grid feature vectors of the plurality of grid feature vectors; tracking the plurality of user events affecting the one or more documents; and associating the content tags with the one or more documents in accordance with the associated content tiles and updating the content tags associated with the one or more documents upon determining that the one or more documents are accessed by the tracked plurality of user events; receiving a search query from the user; selecting one or more of the associated content tags according to characteristics of the plurality of user events; modifying the received search query with the one or more selected content tags; comparing the modified received search query against the one or more documents of the document collection to find a match; and at least temporarily storing the one or more matching documents in association with the modified received search query on computer storage medium.
1. A computer implemented method of performing a search, comprising: associating a plurality of user events for a user with content tags according to a pre-searching procedure, wherein the pre-searching procedure comprises: constructing feature vectors for one or more documents that are searched within a document collection, the feature vectors are determined based on a frequency of occurrence of a word or word phrase within the one or more documents of the document collection; providing a content space grid comprising content tiles, wherein each of the content tiles is associated with a grid feature vector of a plurality of grid feature vectors and is arranged within the content space grid according to subject matter of words or word phrases represented by each grid feature vector of the plurality of grid feature vectors, wherein the arrangement ensures that the content tiles shared a common boundary in the content space grid have related content associated therewith, and wherein the content tags are assigned to each of the content tiles, respectively, and identify locations of the content tiles within the content space grid; associating the content tiles with the one or more documents in the document collection by comparing the feature vectors of the one or more documents and the plurality of grid feature vectors of the content tiles and, based on the comparison, identifying the feature vectors corresponding to one or more grid feature vectors of the plurality of grid feature vectors; tracking the plurality of user events affecting the one or more documents; and associating the content tags with the one or more documents in accordance with the associated content tiles and updating the content tags associated with the one or more documents upon determining that the one or more documents are accessed by the tracked plurality of user events; receiving a search query from the user; selecting one or more of the associated content tags according to characteristics of the plurality of user events; modifying the received search query with the one or more selected content tags; comparing the modified received search query against the one or more documents of the document collection to find a match; and at least temporarily storing the one or more matching documents in association with the modified received search query on computer storage medium. 2. The computer implemented method of claim 1 , wherein selecting one or more of the associated content tags comprises: maintaining a queue of the content tags associated with the user events invoked by the user; determining a threshold position in the queue based on a time-frame when the user events were harvested; and selecting the content tags within the queue, having a position less than the threshold position.