Locality-preserving hashing