1. A method for determining one or more ranked candidate media in response to media query data generated at a mobile client device corresponding to a query media, comprising: receiving the media query data from the mobile client device, the media query data comprising feature data of one or more features of the query media encoded by one or more similarity preserving hashing functions into a plurality of hash bits and coordinate data for each of the one or more features; matching, on a server computer system, the one or more of the features of the query media with one or more corresponding features of a media database using the feature data of the query media to identify one or more features of the media database within a predetermined hamming distance in one or more hash tables from the one or more corresponding features of the query media to obtain one or more matched features in the media database, the features of the query media and the features of the media database each being assigned to one of a plurality of entries of the one or more hash tables using the plurality of hash bits as table indexes; determining, on the server computer system, one or more candidate media whose number of matched features exceeds a matched feature threshold; generating, on the server computer system, a geometry similarity score between the query media and each of the one or more candidate media using the feature data and the coordinate data; ranking, on the server computer system, the one or more candidate media based on the numbers of matched features and the geometry similarity score; and sending the ranked candidate media to the mobile client device.