IntersectIterators is not necessary under matchAll case in Facet [LUCENE-10511]
Open
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
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