1. One or more memory storage devices comprising computer-executable instructions that, when executed by one or more processors, perform acts comprising: receiving image query log data from one or more clients, wherein the image query log data includes an example image that a client of the one or more clients submitted as an image query to search for one or more desired images; extracting a plurality of features from the example image that the client submitted as an image query; and updating a codebook of features based at least on the plurality of features extracted from the example image that the client submitted as an image query.