How Locality Sensitive Hashing Works