Refactor grouping module to be more maintainable
------------------------------------------------

                 Key: LUCENE-3482
                 URL: https://issues.apache.org/jira/browse/LUCENE-3482
             Project: Lucene - Java
          Issue Type: Improvement
          Components: modules/grouping
    Affects Versions: 4.0
            Reporter: Martijn van Groningen
             Fix For: 4.0


Currently we have 4 types of grouping collectors and 8 concrete subclasses in 
Lucene / Solr. In current architecture for each type of collector two concrete 
subclasses need to be created. An implementation optimized for single term 
based groups and a more general implementation that works with MutableValue to 
also support grouping by functions. If we want for example group by 
IndexDocValues each type of grouping collector needs to have three concrete 
subclasses. This design isn't very maintainable.

I think it is best to introduce a concept that knows how deals with dealing 
groups for all the different sources. Therefore the grouping module should 
depend on the queries module, so that grouping can reuse the ValueSource 
concept. A term based concrete impl. of this concept knows for example to use 
the DocValues.ord() method. Or more generic concrete impl. will use 
DocValues.ValueFiller. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to