1. A computer-implemented method to generate a results set of images, comprising: receiving an original query from a user to search a plurality of images, each of which is associated with metadata; generating a first results set based on executing the original query relative to tags from the metadata associated with each image in said plurality of images; selecting, from the first results set, a specified number of results ranked highest in the first results set; generating a list comprising terms from tags from the metadata associated with each result of the specified number of results; for each term in the list, calculating a weight for that term based on a frequency of occurrence of that term in the list; generating a single updated query comprising terms that are in the list and that are weighted based on said weights; generating a second results set by executing only the updated query relative to metadata associated with each image in said plurality of images; storing the second results set on a non-volatile or volatile computer readable storage medium; and displaying, as a result of the original query, only images that are associated with metadata containing terms in the second results set, without executing any query other than the updated query to generate the second results set.