1. A computer-implemented method comprising: storing, in a bookmark database, resource identifiers for a first user; receiving a request by the first user to expose, to a second user, a particular resource identifier that is stored for the first user in the bookmark database; exposing the particular resource identifier to the second user; storing the particular resource identifier for the second user in the bookmark database; receiving a search query from the second user; generating a result set based on searching a global index and resource identifiers that are stored for the second user in the bookmark database, wherein the result set includes the particular resource identifier; and outputting the result set.
1. A computer-implemented method comprising: storing, in a bookmark database, resource identifiers for a first user; receiving a request by the first user to expose, to a second user, a particular resource identifier that is stored for the first user in the bookmark database; exposing the particular resource identifier to the second user; storing the particular resource identifier for the second user in the bookmark database; receiving a search query from the second user; generating a result set based on searching a global index and resource identifiers that are stored for the second user in the bookmark database, wherein the result set includes the particular resource identifier; and outputting the result set. 6. The method of claim 1 , further comprising: determining that the particular resource identifier is stored for the first user in the bookmark database; determining that the particular resource identifier is stored for the second user in the bookmark database; and in response to determining that the particular resource identifier is stored for the first user in the bookmark database and determining that the particular resource identifier is stored for the second user in the bookmark database, identifying that the first user and the second user belong to a particular cluster of users.