commit | e1ce1d692ca45d950bda32123c5f63db5185298e | [log] [tgz] |
---|---|---|
author | Benjamin Trent <ben.w.trent@gmail.com> | Tue Nov 07 06:55:42 2023 -0500 |
committer | GitHub <noreply@github.com> | Tue Nov 07 06:55:42 2023 -0500 |
tree | 287b51b7ca0a19b10dc5b5c6893f8725382066f4 | |
parent | 3231028070885cec85c65052db2176e7f6fef545 [diff] |
Stop exploring HNSW graph if scores are not getting better. (#12770) I noticed while testing lower dimensionality and quantization, we would explore the HNSW graph way too much. I was stuck figuring out why until I noticed the searcher checks for distance equality (not just if the distance is better) when exploring neighbors-of-neighbors. This seems like a bad heuristic, but to double check I looked at what nmslib does. This pointed me back to this commit: nmslib/nmslib#106 Seems like this performance hitch was discovered awhile ago :). This commit adjusts HNSW to only explore the graph layer if the distance is actually better.
Apache Lucene is a high-performance, full-featured text search engine library written in Java.
This README file only contains basic setup instructions. For more comprehensive documentation, visit:
gradlew
).We‘ll assume that you know how to get and set up the JDK - if you don’t, then we suggest starting at https://jdk.java.net/ and learning more about Java, before returning to this README.
See Contributing Guide for details.
Bug fixes, improvements and new features are always welcome! Please review the Contributing to Lucene Guide for information on contributing.
#lucene
and #lucene-dev
on freenode.net