[ 
https://issues.apache.org/jira/browse/LUCENE-3099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13040893#comment-13040893
 ] 

Martijn van Groningen commented on LUCENE-3099:
-----------------------------------------------

I think the SecondPassGroupingCollector class needs the following two methods 
instead of getDocSlot:
{code:java}
  public void collect(int doc) throws IOException {
    totalHitCount++;
    if (gatherGroupedDocs(doc)) {
      retrieveGroup(doc).collector.collect(doc);
    }
  }

  protected abstract boolean gatherGroupedDocs(int doc) throws IOException;

  protected abstract SearchGroupDocs<GROUP_VALUE_TYPE> retrieveGroup(int doc) 
throws IOException;
{code}

When working with fqs the slot is not practical, since there is no ords (like 
DocTermsIndex).
This setup works nicely in both impls. Downside is that for the Terms impl the 
ord key has to be looked up twice when gatherGroupedDocs(..) returns true.

> Grouping module should allow subclasses to set the group key per document
> -------------------------------------------------------------------------
>
>                 Key: LUCENE-3099
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3099
>             Project: Lucene - Java
>          Issue Type: Improvement
>            Reporter: Michael McCandless
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3099.patch, LUCENE-3099.patch, LUCENE-3099.patch, 
> LUCENE-3099.patch
>
>
> The new grouping module can only group by a single-valued indexed field.
> But, if we make the 'getGroupKey' a method that a subclass could override, 
> then I think we could refactor Solr over to the module, because it could do 
> function queries and normal queries via subclass (I think).
> This also makes the impl more extensible to apps that might have their own 
> interesting group values per document.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to