[
https://issues.apache.org/jira/browse/LUCENE-8728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793040#comment-16793040
]
Christine Poerschke commented on LUCENE-8728:
---------------------------------------------
context:
* SOLR-11831 proposes an optimisation to grouping logic if group.limit is 1
(and other conditions are met).
* If the second grouping step is to be skipped then additional information
needs to be collected and collated in the first grouping step.
question:
* Would there be concerns about adding additional members to the existing
{{lucene/grouping}} {{SearchGroup}} class and for
{{FirstPassGroupingCollector}} to fill them in (even if not all caller
require/benefit from them)?
** Specifically I'm wondering about additional object/GC footprint (for anyone
who does not benefit from that) and would love to hear what others think.
proposal:
* If additional {{lucene/grouping}} {{SearchGroup}} members would be
(relatively) undesirable, can {{SearchGroup}} somehow be made extensible along
with {{FirstPassGroupingCollector}} as the class that allocates the
{{SearchGroup}} objects?
** Extension of both classes would avoid duplication of code and specifically
it would also help ensure that parent and derived collecting behaviour is
consistent i.e. no surprises transitioning to or from the group.limit==1
optimised code path.
** Extensibility of both classes can be facilitated e.g. via the factoring out
of small protected methods.
*** question: Additional methods introduce complexity in the codebase and at
runtime can we assume that the JVM will 'magically' optimise or is there a
method-call-overhead-versus-object-GC-footprint trade-off here?
attachments:
* LUCENE-8728.patch with proposed changes.
* LUCENE-8728-extension-illustration.patch to sketch out how SOLR-11831 might
be extending the {{org.apache.lucene.search.grouping}} classes in the
{{org.apache.solr.search.grouping}} package.
> facilitate lucene/grouping FirstPassGroupingCollector extension
> ---------------------------------------------------------------
>
> Key: LUCENE-8728
> URL: https://issues.apache.org/jira/browse/LUCENE-8728
> Project: Lucene - Core
> Issue Type: Wish
> Reporter: Christine Poerschke
> Assignee: Christine Poerschke
> Priority: Critical
> Attachments: LUCENE-8728-extension-illustration.patch,
> LUCENE-8728.patch
>
>
> (details to follow as comments/questions)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]