commit | c5331df1c42a48b0670ca8d7c0c127f34bb47c95 | [log] [tgz] |
---|---|---|
author | Adrien Grand <jpountz@gmail.com> | Fri May 17 09:07:07 2024 +0200 |
committer | GitHub <noreply@github.com> | Fri May 17 09:07:07 2024 +0200 |
tree | 2dc1901598fc0eb38347bf306f247c66cdc19164 | |
parent | 3d671a0fbef159e970b060d3f942fba481bafc8b [diff] |
Use IndexInput#prefetch for postings, skip data and impacts (#13364) This uses the `IndexInput#prefetch` API for postings. This relies on heuristics, as we don't know ahead of time what data we will need from a postings list: - Postings lists are prefetched entirely when they are short (< 16kB). - Impacts enums also prefetch the first page of skip data. - Postings enums prefetc skip data on the first call to advance(). Positions, offsets and payloads are never prefetched. Putting the `IndexInput#prefetch` call in `TermsEnum#postings` and `TermsEnum#impacts` works well because `BooleanQuery` will first create postings/impacts enums for all clauses before it starts unioning/intersecting them. This allows the prefetching logic to run in parallel across all clauses of the same query on the same segment.
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