apache / apache/lucene

IntersectIterators is not necessary under matchAll case in Facet [LUCENE-10511]

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

Description

If number of hits in FacetsCollector equals reader.maxDoc() and DocValues's cost() which is precise, we may not do ConjunctionUtils.intersectIterators(List<DocIdSetIterator>)?

---
Migrated from [LUCENE-10511](https://issues.apache.org/jira/browse/LUCENE-10511) by Lu Xugang (@LuXugang), updated Apr 12 2022

Contributor guide

Open the contributing guide

Research direction

Start by tracing FacetsCollector's matchAll case and the use of ConjunctionUtils.intersectIterators with the DocValues iterator. Check how reader.maxDoc(), the number of collected hits, and precise DocValues cost() interact; done means safely avoiding the intersection under the stated conditions without changing facet results.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.