1. A non-transitory computer-readable storage medium storing a program, which, when executed by a processor performs an operation in response to an image search request, the operation comprising: receiving a request which includes one or more keywords and one or more metadata parameters specifying desired image characteristics; identifying, via one or more processors, a set of images, wherein the identified set of images is responsive to the request based on at least a match of the keywords to image tags, wherein each image tag is associated with one of a plurality of objects which is depicted in one of the images from the set of images; determining an ordering of the identified set of images by comparing the received metadata parameters with corresponding tag metadata fields, each tag metadata field being distinct from and associated with one of the image tags; and returning an indication of the set of images and the determined ordering of the images, wherein each tag metadata field has a numerical value, the numerical value being determined as a relative value of a given image characteristic of one of the objects as depicted in one of the images when compared to the given image characteristic of the one of the objects as depicted in a plurality of images of an image repository, and wherein determining the ordering of the identified set of images comprises: comparing the received parameters with the corresponding tag metadata fields to determine whether predefined threshold values are met; for each of the predefined threshold values that is met, increasing a weight value for the image tag to which the corresponding tag metadata field is associated; and ordering the set of images based on at least the weight values for the image tags associated with the images in the set of images.