You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jp...@apache.org on 2015/02/06 19:50:12 UTC

svn commit: r1657919 - /lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java

Author: jpountz
Date: Fri Feb  6 18:50:11 2015
New Revision: 1657919

URL: http://svn.apache.org/r1657919
Log:
LUCENE-6220: Fix ArrayStoreException in grouping tests.

Modified:
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java?rev=1657919&r1=1657918&r2=1657919&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/grouping/distributed/shardresultserializer/TopGroupsResultTransformer.java Fri Feb  6 18:50:11 2015
@@ -23,6 +23,7 @@ import org.apache.lucene.search.FieldDoc
 import org.apache.lucene.search.ScoreDoc;
 import org.apache.lucene.search.Sort;
 import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.TopFieldDocs;
 import org.apache.lucene.search.grouping.GroupDocs;
 import org.apache.lucene.search.grouping.TopGroups;
 import org.apache.lucene.util.BytesRef;
@@ -141,7 +142,13 @@ public class TopGroupsResultTransformer
           }
           scoreDocs[j++] = new ShardDoc(score, sortValues, uniqueId, shard);
         }
-        result.put(key, new QueryCommandResult(new TopDocs(totalHits, scoreDocs, maxScore), matches));
+        final TopDocs topDocs;
+        if (sortWithinGroup == null) {
+          topDocs = new TopDocs(totalHits, scoreDocs, maxScore);
+        } else {
+          topDocs = new TopFieldDocs(totalHits, scoreDocs, sortWithinGroup.getSort(), maxScore);
+        }
+        result.put(key, new QueryCommandResult(topDocs, matches));
         continue;
       }