apache / apache/lucene

Leverage sparse doc value indexes for range and value facet collection

Open
#14,406 4 comments 0 reactions 0 assignees View on GitHub
type:enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.