Patent ID: 8260785

Claim:
A computer implemented method comprising: at a computer system including one or more processors and memory storing one or more programs, the one or more processors executing the one or more programs to perform the operations of: storing a plurality of objects in a fact repository, wherein the objects are associated with facts, each fact having one or more terms; modifying one or more of the facts in the fact repository, including automatically, without user intervention: establishing a list of object names of objects in the fact repository, wherein the list of object names is stored as a hash table; for a respective fact having multiple terms, comparing a respective phrase-identification metric for each of a plurality of different combinations of terms in the respective fact to identify one or more candidate phrases; checking at least a subset of the candidate phrases against the list of object names, wherein checking the candidate phrases against the list of object names includes determining, for each respective candidate phrase whether a hash of the respective candidate phrase collides with a value in the hash table; and for each fact in of a plurality of respective candidate phrases that match respective object names in the list of object names, constructing a respective search link for a respective fact corresponding to the respective candidate phrase, and storing the respective search link at a location associated with the respective fact in the fact repository, wherein selection of a representation of the respective search link invokes performance of a search query against the fact repository, the search query including one or more search criteria that include the respective object name corresponding to the respective candidate phrase; and after modifying the facts in the fact repository, in accordance with a determination that one or more predefined criteria have been met, automatically repeating, without user intervention, the steps of establishing a list of object names from a plurality of name facts, identifying candidate phrases, checking candidate phrases against the list of object names and constructing and storing search links in the fact repository.