mirror of https://github.com/apache/lucene.git
LUCENE-6878: Speed up TopDocs.merge.
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1712298 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e777e4adb7
commit
724e803e19
|
@ -175,6 +175,8 @@ Optimizations
|
||||||
addresses for BINARY fields are now stored on disk instead of in memory.
|
addresses for BINARY fields are now stored on disk instead of in memory.
|
||||||
(Adrien Grand)
|
(Adrien Grand)
|
||||||
|
|
||||||
|
* LUCENE-6878: Speed up TopDocs.merge. (Daniel Jelinski via Adrien Grand)
|
||||||
|
|
||||||
Bug Fixes
|
Bug Fixes
|
||||||
|
|
||||||
* LUCENE-6817: ComplexPhraseQueryParser.ComplexPhraseQuery does not display
|
* LUCENE-6817: ComplexPhraseQueryParser.ComplexPhraseQuery does not display
|
||||||
|
|
|
@ -272,7 +272,7 @@ public class TopDocs {
|
||||||
int hitUpto = 0;
|
int hitUpto = 0;
|
||||||
while (hitUpto < numIterOnHits) {
|
while (hitUpto < numIterOnHits) {
|
||||||
assert queue.size() > 0;
|
assert queue.size() > 0;
|
||||||
ShardRef ref = queue.pop();
|
ShardRef ref = queue.top();
|
||||||
final ScoreDoc hit = shardHits[ref.shardIndex].scoreDocs[ref.hitIndex++];
|
final ScoreDoc hit = shardHits[ref.shardIndex].scoreDocs[ref.hitIndex++];
|
||||||
hit.shardIndex = ref.shardIndex;
|
hit.shardIndex = ref.shardIndex;
|
||||||
if (hitUpto >= start) {
|
if (hitUpto >= start) {
|
||||||
|
@ -286,7 +286,9 @@ public class TopDocs {
|
||||||
|
|
||||||
if (ref.hitIndex < shardHits[ref.shardIndex].scoreDocs.length) {
|
if (ref.hitIndex < shardHits[ref.shardIndex].scoreDocs.length) {
|
||||||
// Not done with this these TopDocs yet:
|
// Not done with this these TopDocs yet:
|
||||||
queue.add(ref);
|
queue.updateTop();
|
||||||
|
} else {
|
||||||
|
queue.pop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue