Patent ID: 8312009

Claim:
A computer-implemented method, comprising: gathering, by a device, user preference data for each user of a plurality of users by: receiving, by the device, a first search query submitted by each user; providing, by the device and for presentation to each user, a plurality of search results based on the first search query, each of the plurality of search results being associated with a rank, the plurality of search results being presented according to the associated ranks; receiving, by the device, an indication from each user indicating a change in the rank of a particular search result, in the plurality of search results, from an initial rank to a new rank; assigning, by the device, first user preference data to the particular search result, the first user preference data reflecting the change in the rank of the particular search result; assigning, by the device, second user preference data to a first search result, in the plurality of search results, that is associated with a first rank that is greater than the new rank associated with the particular search result, the first search result being different than the particular search result and the second user preference data indicating a preference for the first search result over the particular search result; and assigning, by the device, third user preference data to a second search result, in the plurality of search results, that is associated with a second rank that is less than the new rank associated with the particular search result and less than the first rank associated with the first search result, the second search result being different than the particular search result and being different than the first search result and the third user preference data indicating a preference for the particular search result over the second search result and implying a preference for the first search result over the second search result; storing, by the device, the gathered user preference data for each user of the plurality of users; aggregating, by the device, the stored user preference data, for each user of the plurality of users to determine one or more aggregate user preferences; receiving, by the device, a second search query; and ranking, by the device, one or more search results, relevant to the second search query, according to the one or more aggregate user preferences.