SOLR-5875: QueryComponent.mergeIds() unmarshals all docs' sort field values once per doc instead of once per shard.

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1578434 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Steven Rowe 2014-03-17 15:24:54 +00:00
parent 873d162fe5
commit 67bc019bd9
2 changed files with 6 additions and 1 deletions

View File

@ -186,6 +186,10 @@ Bug Fixes
* SOLR-5550: shards.info is not returned by a short circuited distributed query.
(Timothy Potter, shalin)
* SOLR-5875: QueryComponent.mergeIds() unmarshals all docs' sort field values once
per doc instead of once per shard.
(Alexey Serba, hoss, Martin de Vries via Steve Rowe)
Optimizations
----------------------
* SOLR-1880: Distributed Search skips GET_FIELDS stage if EXECUTE_QUERY

View File

@ -904,6 +904,7 @@ public class QueryComponent extends SearchComponent
numFound += docs.getNumFound();
NamedList sortFieldValues = (NamedList)(srsp.getSolrResponse().getResponse().get("sort_values"));
NamedList unmarshalledSortFieldValues = unmarshalSortValues(ss, sortFieldValues, schema);
// go through every doc in this response, construct a ShardDoc, and
// put it in the priority queue so it can be ordered.
@ -940,7 +941,7 @@ public class QueryComponent extends SearchComponent
}
}
shardDoc.sortFieldValues = unmarshalSortValues(ss, sortFieldValues, schema);
shardDoc.sortFieldValues = unmarshalledSortFieldValues;
queue.insertWithOverflow(shardDoc);
} // end for-each-doc-in-response