23. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: obtaining first profile data for a first user that is associated with a computing device; obtaining second profile data for second users that submitted search queries, the second users being different from the first user; determining, based on the first profile data and the second profile data, similarity scores that are each indicative of a degree of similarity between the first user and at least one of the second users; selecting a proper subset of the search queries based on the similarity scores; generating an update for an autocomplete cache of the computing device associated with the first user using the selected subset of the search queries; and providing the update to the computing device associated with the first user.
23. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising: obtaining first profile data for a first user that is associated with a computing device; obtaining second profile data for second users that submitted search queries, the second users being different from the first user; determining, based on the first profile data and the second profile data, similarity scores that are each indicative of a degree of similarity between the first user and at least one of the second users; selecting a proper subset of the search queries based on the similarity scores; generating an update for an autocomplete cache of the computing device associated with the first user using the selected subset of the search queries; and providing the update to the computing device associated with the first user. 31. The computer storage medium of claim 23 , wherein: obtaining the first profile data for the first user comprises obtaining information that indicates a user type for the first user; obtaining the second profile data for the second users comprises obtaining information that indicates user types for the second users; and determining the similarity scores comprises: determining whether the user type for first user matches the user types for the respective second users; and determining the similarity scores based on whether the user type for the first user matches the user type for the respective second users.