1. A computer-implemented method of searching a database, comprising: receiving a first query with one or more keywords; automatically expanding the first query to a second query to include the one or more keywords and their friend keywords, wherein each of the friend keywords has a keyword-friend association score that meets or exceeds a set value; searching the database using the second query; identifying a set of information objects that correspond to the second query; and responding to the first query with the set of information objects that correspond to the second query.