1. A data preparation method useful for information retrieval, comprising: at a server computer, arranging a master list of keywords into one or more trees, at least one of which representing a keyword hierarchy; relating a set of keywords to each information object of a set of information objects stored in a repository, the set of keywords being members of the master list of keywords; determining friend keywords for each keyword in the master list of keywords, the determining comprising computing association scores between a given keyword and all other keywords in the keyword hierarchy based at least in part upon positions of each keyword-friend pair within the keyword hierarchy and a tree distance between the positions, each of the association scores representing a degree of association of the given keyword and a friend keyword in the keyword hierarchy; automatically expanding an original query to produce an expanded query, the original query being generated by end-user activity at a client computer communicatively connected to the server computer over a network connection, the original query comprising a first keyword, the expanded query comprising the first keyword and a second keyword, the second keyword being associated with the first keyword from the original query in a keyword-friend pair according to the keyword hierarchy, the keyword-friend pair having an association score that meets or exceeds a predetermined value, wherein the second keyword is not in the original query; and searching the repository to identify information objects that correspond to the expanded query.