1. A computing device for generating clusters of images, comprising: a memory containing computer-executable instructions comprising: a component that receives an image query having search terms; a component that submits the image query to a web-based search engine and receives search results that include links to web pages and text associated with each link, the text being a snippet describing content of the linked-to web page, the web-based search engine being a search engine that maintains an index of keywords to web pages and when a query is submitted, the web-based search engine identifies web pages for search results using the index of keywords to identify web pages that match the submitted query and returns as search results links to the identified web pages and associated snippets; a component that identifies phrases associated with the image query by identifying phrases from the snippets of the search results; a component that identifies images associated with each identified phrase by submitting each identified phrase to an image search engine and receiving identifications of images as search results for each submitted phrase wherein the identified images associated with each submitted phrase represent a cluster of images related to that submitted phrase, the image search engine being a search engine that maintains an index of keywords to images and when a query is submitted, the image search engine identifies images for the search results using the index of keywords to identify images that match the submitted query and returns as search results links to the identified images, the image search engine being different from the web-based search engine; and a component that displays an indication of each cluster of images as search results for the received image query; and a processor for executing the computer-executable instructions stored in the memory.