apache / apache/lucene

[DISCUSS] Should we change TieredMergePolicy's segment deletion accounting to use numDocs in the denominator rather than MaxDoc?

Open
#12,792 3 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

[TieredMergePolicy](https://github.com/apache/lucene/blob/branch_9_8/lucene/core/src/java/org/apache/lucene/index/TieredMergePolicy.java#L382) use `MaxDoc` to calculate the `segDelPct`. There will be scenario that developers expect a segment deletion pct to be `delCount / (maxDoc-delCount)` and this accounting seems more realistic than current accounting.

Contributor guide

Open the contributing guide

Research direction

Start at TieredMergePolicy.java around the segDelPct calculation linked in the issue. Read the surrounding merge-policy logic and the issue discussion to understand the current MaxDoc accounting and the proposed numDocs denominator. Done would require a decided direction and corresponding implementation and tests, none of which are specified here.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
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.