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]