1. A method implemented on a computing device, the method comprising: receiving a query for visual content; obtaining an initial ranked list of results in response to the query, the initial ranked list corresponding to a first plurality of images; obtaining additional results in response to the query from one or more external sources, the additional results including a second plurality of images; extracting, by a processor of the computing device, features from the second plurality of images obtained from the one or more external sources to generate a plurality of visual words, wherein each visual word includes a plurality of similar feature patches extracted from the second plurality of images; determining recurring visual patterns based on the visual words and connections between the visual words; determining a visual word representation of each of the first plurality of images corresponding to the initial ranked list; reordering, by the processor, the initial ranked list based at least in part on a comparison of the determined recurring visual patterns with the visual word representations of the first plurality of images to generate a reranked list.