fingerprint query ──► MinHash signature (256 ints)
└─query ANN index──► 30-50 candidate song_ids ──► exact vote buckets only for those
-
Sketch each song’s hash set into a small, fixed-length MinHash vector.
-
Bucket similar signatures with LSH bands so “likely matches” land in the same slot.
-
At query time, collide once, pull ≤ 50 song IDs, and run your exact voter only on those.
-
Result: 10–100× fewer DB hits and ~10× faster P95 latency, with recall ≈ ideal.
fingerprint query ──► MinHash signature (256 ints)
└─query ANN index──► 30-50 candidate song_ids ──► exact vote buckets only for those
Sketch each song’s hash set into a small, fixed-length MinHash vector.
Bucket similar signatures with LSH bands so “likely matches” land in the same slot.
At query time, collide once, pull ≤ 50 song IDs, and run your exact voter only on those.
Result: 10–100× fewer DB hits and ~10× faster P95 latency, with recall ≈ ideal.