javanna opened a new pull request, #16292:
URL: https://github.com/apache/lucene/pull/16292

   The old TermGroupFacetCollector could not be adapted to CollectorManager:
   its cross-segment deduplication was fundamentally sequential. At
   doSetNextReader(), all previously seen (group, facet) pairs were
   re-looked up in each new segment's ordinal dictionary to rebuild the
   per-segment SentinelIntSet. That O(pairs × segments) walk cannot be
   split across concurrent slices, and every unique hit allocated a
   BytesRef copy in the collection hot path.
   
   The replacement design tracks (groupOrd, facetOrd) pairs as packed
   longs in a per-slice LongHashSet during collection — no BytesRef
   allocations in the hot path. Ordinals are translated to terms once per
   segment in LeafCollector.finish(), and reduce() performs global
   deduplication across all slices via a HashSet<GroupFacetPair>,
   correctly counting groups whose documents span multiple search slices.
   
   All 8 deprecated IndexSearcher#search(Query, Collector) call sites in
   TestGroupFacetCollector are removed as a result.
   
   TermGroupFacetCollector is now deprecated in favour of 
TermGroupFacetCollectorManager
   The base class GroupFacetCollector is also now deprecated.
   
   Relates to https://github.com/apache/lucene/issues/12892.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to