Should we rename all abstract collectors to Abstract*? To make it clear that these classes are abstract.
You think that we already should open a new issue for this?
I think we can take this up under
LUCENE-2883? There's already an
initial patch there, starting to factor out Mutable*...
Should we name it TermAllGroupsCollector (instead of Terms...)? Or,
fix the others to be TermsFirst/SecondPassCollector?
I noticed that FirstPassGroupingCollector and SecondPassGroupingCollector still has groupField as field and constructor argument. So I moved this to TermsFirstPassGroupingCollector and TermSecondPassGroupingCollector
Ahh, excellent – these abstract base classes don't need to know it's
a feild we are grouping on.
When working with fqs the slot is not practical, since there is no ords (like DocTermsIndex).
OK I agree.
Maybe, instead, we can have only retrieveDocGroup? And if it returns
null that means the group for this doc isn't being collected? Then we
don't double the ord lookup for TermSecondPass.