[ 
https://issues.apache.org/jira/browse/LUCENE-7617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Woodward updated LUCENE-7617:
----------------------------------
    Attachment: LUCENE-7617.patch

Thanks for the review Martijn!  Here's an updated patch:
* no more 'Abstract' in abstract class names
* generics are changed so that instead of Class<ComplicatedInnerClassName<T>>, 
we just use Class<T>.  Also, type parameters are all set to T rather than 
GROUP_VALUE_TYPE.  You can shrink your windows when looking at grouping code 
now :)
* Block grouping is left where it is
* Added javadocs, and extra {} around if statements.

Given that everything here is marked as experimental, I think we're OK to just 
backwards-break?  Most people will be using GroupingSearch, I think, which 
stays the same.

> Improve GroupingSearch API and extensibility
> --------------------------------------------
>
>                 Key: LUCENE-7617
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7617
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Alan Woodward
>            Assignee: Alan Woodward
>            Priority: Minor
>         Attachments: LUCENE-7617.patch, LUCENE-7617.patch
>
>
> While looking at how to make grouping work with the new XValuesSource API in 
> core, I thought I'd try and clean up GroupingSearch a bit.  We have three 
> different ways of grouping at the moment: by doc block, using a single-pass 
> collector; by field; and by ValueSource.  The latter two both use essentially 
> the same two-pass mechanism, with different Collector implementations.
> I can see a number of possible improvements here:
> * abstract the two-pass collector creation into a factory API, which should 
> allow us to add the XValuesSource implementations as well
> * clean up the generics on the two-pass collectors - maybe look into removing 
> them entirely?  I'm not sure they add anything really, and we don't have them 
> on the equivalent plan search APIs
> * think about moving the document block method into the join module instead, 
> alongside all the other block-indexing code
> * rename the various Collector base classes so that they don't have 
> 'Abstract' in them anymore



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to