1. A method in a computing device with a processor and a memory for identifying an object similar to a target object, the method comprising: providing a collection of objects, the objects being images, each image in the collection represented by a plurality of values, each value corresponding to a feature of a plurality of features, each feature representing a characteristic of the image; for each of the plurality of features of objects in the collection, generating by the computer system for the feature a cluster index data structure for the collection of objects, the cluster index data structure defining clusters of objects that are feature similar based on the values of feature, such that for each feature, the objects in the collection are clustered differently based on the values for that feature; for each of the plurality of features of the target object, identifying by the computer system, from the cluster index data structure for that feature, clusters of candidate objects that are feature similar to the target object based on the values of that feature; and for candidate objects, indicating by the computer system similarity of the candidate object to the target object based on the number of identified clusters containing the candidate object.