Leverage sparse doc value indexes for range and value facet collection
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
### Description
Spinning off an issue from the discussion in #14273.
There are a few ways we can probably leverage sparse doc value indexes for numeric range/value faceting.
1. Use a similar technique to the one in #14273 to increment counts associated with specific ranges/values without loading individual doc values in cases where we know entire doc blocks fall within specific ranges/value.
2. Do the above-mentioned counting in batch when collecting with doc ID streams.
3. Leverage competitive iteration to skip over blocks of docs that are known not to fall into any of the ranges we are faceting on.
Contributor guide
Research direction
Start by reading the discussion in issue #14273 and the three proposed approaches in this issue. Compare range/value counting, batched collection with doc ID streams, and competitive iteration for sparse doc value indexes. Done means selecting and implementing a defined approach with a clear performance or behavior validation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, performance, search
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100