19. A computer system for producing personalized search results, comprising: memory; one or more processors; one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including: instructions for receiving a search query from a user; instructions for identifying search results associated with the search query; instructions for identifying a user profile associated with the user, wherein the user profile includes a set of user-preferred search results determined, at least in part, by: instructions for identifying a set of candidate search results in a search history of the user, wherein each of the candidate search results has been selected by the user for at least a predefined minimum number of times; instructions for determining a popularity metric for each of the candidate search results; and instructions for selecting a subset of the candidate search results whose associated popularity metrics exceed a predefined threshold as the set of user-preferred search results; instructions for identifying in the search results, one or more search results that are associated with at least one of the user-preferred search results; instructions for ordering the search results based at least in part on the identification, in the search results, of the one or more search results that are associated with at least one of the user-preferred search results; and instructions for providing the ordered list of search results to the user.
19. A computer system for producing personalized search results, comprising: memory; one or more processors; one or more programs stored in the memory and configured for execution by the one or more processors, the one or more programs including: instructions for receiving a search query from a user; instructions for identifying search results associated with the search query; instructions for identifying a user profile associated with the user, wherein the user profile includes a set of user-preferred search results determined, at least in part, by: instructions for identifying a set of candidate search results in a search history of the user, wherein each of the candidate search results has been selected by the user for at least a predefined minimum number of times; instructions for determining a popularity metric for each of the candidate search results; and instructions for selecting a subset of the candidate search results whose associated popularity metrics exceed a predefined threshold as the set of user-preferred search results; instructions for identifying in the search results, one or more search results that are associated with at least one of the user-preferred search results; instructions for ordering the search results based at least in part on the identification, in the search results, of the one or more search results that are associated with at least one of the user-preferred search results; and instructions for providing the ordered list of search results to the user. 27. The computer system of claim 19 , the one or more programs further including instructions for receiving the search history of the user from one or more client devices associated with the user.