1. A computing device comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause a computing device to perform operations, comprising: obtaining a video content item; determining a plurality of scenes for the video content item, the plurality of scenes including a respective set of video frames; determining that at least one video frame of the respective set of video frames for a scene includes a number of features for extraction that is greater than a specified threshold; extracting, from the at least one video frame, a plurality of feature descriptors relating to an object represented in the at least one video frame, the object including one or more features; assigning a visual word to each of the plurality of feature descriptors to generate a vocabulary of visual words describing the one or more features; indexing the visual words into a feature index storing information for the visual words; correlating the visual words of the feature index to determine one or more groups of visual words having similar feature descriptors; indexing the one or more groups into a correlation index storing information for the one or more groups and respective corresponding visual words; receiving a query image from a client computing device; extracting query feature descriptors from the query image to determine extracted query feature descriptors; assigning a query visual word to each of the extracted query feature descriptors; comparing one or more of the query visual words from the query image to at least a subset of the visual words in the correlation index to identify a set of closest matching video frames that at least partially match the query image based at least in part on a respective number of query visual words matching a respective number of visual words in the correlation index; and generating a recommendation for one or more video content items corresponding to the set of closest matching video frames as matching the query image.