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;
}