Hi Ted,

I was looking at committing the searchers after fixing Sebastian's comments
in [1], but after re-running the tests, LSHSearcher turns out not to
actually be faster than BruteSearcher.

I know writing benchmarks it tricky in Java, but still, this searcher
should be way better than brute search.
So, I stepped through the code and it turns out it never adjusts the
hashLimit for example.
This means that it effectively computes the distance between every point
and the query in addition to projecting which makes it slower.

I never really looked at this class thoroughly so maybe have a look at the
current searcher [2] and see what is going on? Also, what was the paper
that explained this method of dynamically adjusting the hash limit? You
probably sent it to me but I forgot it.

Thanks!

[1] https://reviews.apache.org/r/10195/
[2]
https://github.com/dfilimon/mahout/blob/vector/core/src/main/java/org/apache/mahout/math/neighborhood/LocalitySensitiveHashSearch.java

Reply via email to