apache / apache/lucene

update FieldSelectorResult with a BREAK only result option. consolidate some of the state for break/load [LUCENE-2535]

Open
#3,609 4 comments 0 reactions 0 assignees View on GitHub
affects-version:3.0.2 legacy-jira-fix-version:4.9 legacy-jira-fix-version:6.0 legacy-jira-priority:Minor module:core/other type:enhancement
Dominant language
Java
Stars
3.6k
Forks
1.4k
Avg merge
2d 11h
Merged PRs (30d)
88

Description

some field storage strategies can be much improved by immediate break vs. the break-and-load currently provided.
this adds another break option, which makes it more advantageous to have member variables of the enum that indicate it's a break/load etc. vs. doing a bunch of grouped == checks.

The BREAK option should cause an early termination with include == false in the ParallelReader when the BREAK before any other field, then the document should not be loaded from that reader. This is fairly easy to validate with a test, which is included in the patch.

---
Migrated from [LUCENE-2535](https://issues.apache.org/jira/browse/LUCENE-2535) by Woody Anderson, updated May 09 2016
Attachments: [LUCENE_4.0-2535.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-2535/LUCENE_4.0-2535.patch), [LUCENE-2535.patch](https://apache.github.io/lucene-jira-archive/attachments/LUCENE-2535/LUCENE-2535.patch)

Contributor guide

Open the contributing guide

Research direction

Start with FieldSelectorResult and the ParallelReader behavior described in the issue, then inspect the attached LUCENE_4.0-2535.patch and LUCENE-2535.patch for the intended test and affected files. Verify that BREAK before any other field terminates early with include == false and avoids loading the document from that reader; the included test should demonstrate this behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
search
Issue type
Feature
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.