Add the compliant "Direct" doc-value format [LUCENE-10251]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
In an effort to keep the "Direct" doc-value format in future release, we moved them to doc-value iterators. Any review would be appreciated.
Main changes include:
- Use DocValuesIterator instead of LegacyDocValues.java in DirectDocValuesProducer;
- Embed iterator implementation inside DirectDocValuesConsumer for code reuse;
- All test cases have been run successfully and included in [pull request](https://github.com/apache/lucene/pull/464/files);
P.S. Our business scenario:
- Save the inventory in Direct doc-value format;
- Update them in memory with high-frequency without persistence;
- Load inventory from data storage during app ignite;
---
Migrated from [LUCENE-10251](https://issues.apache.org/jira/browse/LUCENE-10251) by spike liu, updated Jan 18 2022
Attachments: [compliant_direct_doc-value_format.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-10251/compliant_direct_doc-value_format.patch), [LUCENE-10251-20211222.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-10251/LUCENE-10251-20211222.patch), [LUCENE-10251-20211231.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-10251/LUCENE-10251-20211231.patch)
Linked issues:
- #9960
- #11372
Pull requests: https://github.com/apache/lucene/pull/464, https://github.com/apache/lucene/pull/464
Contributor guide
Research direction
Start by reviewing DirectDocValuesProducer, LegacyDocValues.java, and the iterator implementation in DirectDocValuesConsumer, then compare the attached patches and pull request 464. Done means the Direct doc-value format uses DocValuesIterator as described and the existing test suite passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, search
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100