NumericComparator: immediately check whether a segment is competitive with the recorded bottom (#15397)

When construction a new CompetitiveDISIBuilder, then check whether global min/max points or global min/max doc values skipper are comparative with the bottom.
If so, then update competitiveIterator with an empty iterator, because no documents will have a value that is competitive with the current recorded bottom in the current segment.

Doing this at CompetitiveDISIBuilder construction is cheap and allows to immediately prune, instead of waiting until doUpdateCompetitiveIterator(...) is invoked.
3 files changed
tree: 0812dd2b304f17243e1fc0adb7b565d79c175f22
  1. .devcontainer/
  2. .github/
  3. .idea/
  4. .vscode/
  5. build-tools/
  6. dev-docs/
  7. dev-tools/
  8. gradle/
  9. help/
  10. lucene/
  11. .asf.yaml
  12. .dir-locals.el
  13. .editorconfig
  14. .git-blame-ignore-revs
  15. .gitattributes
  16. .gitignore
  17. .lift.toml
  18. build-options.properties
  19. build.gradle
  20. CONTRIBUTING.md
  21. gradlew
  22. gradlew.bat
  23. LICENSE.txt
  24. NOTICE.txt
  25. README.md
  26. settings.gradle
  27. versions.lock
README.md

Apache Lucene

Lucene Logo

Apache Lucene is a high-performance, full-featured text search engine library written in Java.

Build Status Revved up by Develocity

Online Documentation

This README file only contains basic setup instructions. For more comprehensive documentation, visit:

Building

Basic steps:

  1. Install JDK 25 using your package manager or download manually from OpenJDK, Adoptium, Azul, Oracle or any other JDK provider.
  2. Clone Lucene's git repository (or download the source distribution).
  3. Run gradle launcher script (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.

Contributing

Bug fixes, improvements and new features are always welcome! Please review the Contributing to Lucene Guide for information on contributing.

  • Additional Developer Documentation: dev-docs/

Discussion and Support