apache / apache/lucene

Further improve memory of FieldInfos [LUCENE-6630]

Open
#7,688 4 comments 0 reactions 0 assignees View on GitHub
legacy-jira-priority:Major type:bug
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

In #7386, FieldInfos were improved to use an array except in very sparse cases. In the sparse cases, a TreeMap is still used. However, even in the sparse case, we can still use an array, and then use binary search. The perf will be equivalent, but memory use should be much less.

---
Migrated from [LUCENE-6630](https://issues.apache.org/jira/browse/LUCENE-6630) by Ryan Ernst (@rjernst), 1 vote
Attachments: [LUCENE-6630.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-6630/LUCENE-6630.patch)

Contributor guide

Open the contributing guide

Research direction

Start by locating the FieldInfos implementation and reviewing the changes from #7386, along with the attached LUCENE-6630.patch. Compare the sparse TreeMap path with the existing array path and identify how the binary-search behavior should be validated. Done means the sparse case uses the proposed lower-memory representation without a performance regression.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.