mirror of https://github.com/apache/lucene.git
33a4c1d8ef
It is relatively easy to consume a massive amount of memory for the minimize operation, with its lists of boxed Integer (even though these are mostly cached, it's still more than 4b per instance to store them instead of plain storage) and neverending duplicate+empty StateList instances. The boxed integer situation we can fix and probably speedup by using the hppc primitive collections. To fix the duplicate/empty StateList instances, we can use a constant. This requires some hacky forking on the write path but that's about it. This is partly motivated by ES users at times creating broken, very long prefix queries that can then eat up GBs of heap. With this change, the examples I've been looking at become about 6x cheaper heap wise, making it less likely that kind of mistakes impacts stability. |
||
---|---|---|
.github | ||
build-tools | ||
dev-docs | ||
dev-tools | ||
gradle | ||
help | ||
lucene | ||
.asf.yaml | ||
.dir-locals.el | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.hgignore | ||
.lift.toml | ||
CONTRIBUTING.md | ||
LICENSE.txt | ||
NOTICE.txt | ||
README.md | ||
build.gradle | ||
gradlew | ||
gradlew.bat | ||
settings.gradle | ||
versions.lock | ||
versions.toml |
README.md
Apache Lucene
Apache Lucene is a high-performance, full-featured text search engine library written in Java.
Online Documentation
This README file only contains basic setup instructions. For more comprehensive documentation, visit:
- Latest Releases: https://lucene.apache.org/core/documentation.html
- Nightly: https://ci-builds.apache.org/job/Lucene/job/Lucene-Artifacts-main/javadoc/
- New contributors should start by reading Contributing Guide
- Build System Documentation: help/
- Migration Guide: lucene/MIGRATE.md
Building
Basic steps:
- Install OpenJDK 21.
- Clone Lucene's git repository (or download the source distribution).
- 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
- Users Mailing List
- Developers Mailing List
- IRC:
#lucene
and#lucene-dev
on freenode.net