1. A computing system, comprising: a processor; and memory including instructions that, when executed by the processor, cause the computing system to: receive a query image from a client computing device; extract feature descriptors from the query image; compare at least a portion of the extracted feature descriptors to a set of compressed cluster centers corresponding to a set of database images to determine a matching score, wherein each of the compressed cluster centers is assigned at least one visual word corresponding to at least one feature descriptor; rank the set of database of images by based on the matching score; and select a highest ranking database image of the set of closest matching database images as a match for the query image.