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
