1. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor, cause a computing device to: acquire inventory images of a plurality of products available for purchase from an electronic marketplace, wherein inventory features are extracted from each inventory image and an inventory visual word is assigned to each inventory feature to generate a vocabulary of visual words that describe the inventory features of the products represented in the inventory images; receive a query image from a computing device, wherein query features are extracted from the query image and a query visual word is assigned to extracted features; compare query visual words to at least a subset of the inventory visual words to identify a set of closest matching inventory images based at least in part on a respective number of query visual words matching a respective number of inventory visual words; classify the set of closest matching inventory images into a plurality of product groups based at least in part on overlapping visual words, each product group of the plurality of product groups including one or more versions of a respective product of the plurality of products available for purchase from the electronic marketplace; determine, using a geometric verification algorithm, one or more matching groups for the query image, wherein the geometric verification algorithm compares at least a subset of the query features to features of a representative image from each product group represented among the set of closest matching inventory images, each representative image representing global features common to each inventory image of a respective product group; rank different versions of the product assigned to the one or more matching groups based at least in part on at least one of a number of sales, freshness, seasonality, review count, projected shipping time, or user preferences; and send information for a highest ranking version of the product from the one or more matching groups for display on the computing device.