Skip to content

Commit 5e455db

Browse files
committed
Revert "Remove Scorable#docID implementations"
This reverts commit 55ed03f.
1 parent 55ed03f commit 5e455db

File tree

7 files changed

+49
-2
lines changed

7 files changed

+49
-2
lines changed

modules/lang-painless/src/test/java/org/elasticsearch/painless/ScriptedMetricAggContextsTests.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ public void testMapBasic() throws IOException {
7373
Map<String, Object> state = new HashMap<>();
7474

7575
Scorable scorer = new Scorable() {
76+
@Override
77+
public int docID() {
78+
return 0;
79+
}
80+
7681
@Override
7782
public float score() {
7883
return 0.5f;

modules/parent-join/src/main/java/org/elasticsearch/join/aggregations/ParentJoinAggregator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,11 @@ protected void prepareSubAggs(long[] ordsToCollect) throws IOException {
133133
public float score() {
134134
return 1f;
135135
}
136+
137+
@Override
138+
public int docID() {
139+
return childDocsIter.docID();
140+
}
136141
});
137142

138143
final Bits liveDocs = ctx.reader().getLiveDocs();

server/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,12 +206,19 @@ void processBufferedChildBuckets() throws IOException {
206206
}
207207

208208
private static class CachedScorable extends Scorable {
209+
int doc;
209210
float score;
210211

211212
@Override
212213
public final float score() {
213214
return score;
214215
}
216+
217+
@Override
218+
public int docID() {
219+
return doc;
220+
}
221+
215222
}
216223

217224
}

server/src/main/java/org/elasticsearch/search/aggregations/bucket/sampler/BestDocsDeferringCollector.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ class PerSegmentCollects extends Scorable {
213213
private final AggregationExecutionContext aggCtx;
214214
int maxDocId = Integer.MIN_VALUE;
215215
private float currentScore;
216+
private int currentDocId = -1;
216217
private Scorable currentScorer;
217218

218219
PerSegmentCollects(AggregationExecutionContext aggCtx) throws IOException {
@@ -247,6 +248,7 @@ public void replayRelatedMatches(List<ScoreDoc> sd) throws IOException {
247248
leafCollector.setScorer(this);
248249

249250
currentScore = 0;
251+
currentDocId = -1;
250252
if (maxDocId < 0) {
251253
return;
252254
}
@@ -256,6 +258,7 @@ public void replayRelatedMatches(List<ScoreDoc> sd) throws IOException {
256258
int rebased = scoreDoc.doc - aggCtx.getLeafReaderContext().docBase;
257259
if ((rebased >= 0) && (rebased <= maxDocId)) {
258260
currentScore = scoreDoc.score;
261+
currentDocId = rebased;
259262
// We stored the bucket ID in Lucene's shardIndex property
260263
// for convenience.
261264
leafCollector.collect(rebased, scoreDoc.shardIndex);
@@ -272,6 +275,11 @@ public float score() throws IOException {
272275
return currentScore;
273276
}
274277

278+
@Override
279+
public int docID() {
280+
return currentDocId;
281+
}
282+
275283
public void collect(int docId, long parentBucket) throws IOException {
276284
perBucketSamples = bigArrays.grow(perBucketSamples, parentBucket + 1);
277285
PerParentBucketSamples sampler = perBucketSamples.get((int) parentBucket);

server/src/test/java/org/elasticsearch/search/aggregations/MultiBucketCollectorTests.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,14 @@
3232
import static org.hamcrest.Matchers.equalTo;
3333

3434
public class MultiBucketCollectorTests extends ESTestCase {
35-
private static class Score extends Scorable {
35+
private static class ScoreAndDoc extends Scorable {
3636
float score;
37+
int doc = -1;
38+
39+
@Override
40+
public int docID() {
41+
return doc;
42+
}
3743

3844
@Override
3945
public float score() {
@@ -240,7 +246,7 @@ public void testSetScorerAfterCollectionTerminated() throws IOException {
240246
collector1 = new TerminateAfterBucketCollector(collector1, 1);
241247
collector2 = new TerminateAfterBucketCollector(collector2, 2);
242248

243-
Scorable scorer = new Score();
249+
Scorable scorer = new ScoreAndDoc();
244250

245251
List<BucketCollector> collectors = Arrays.asList(collector1, collector2);
246252
Collections.shuffle(collectors, random());

server/src/test/java/org/elasticsearch/search/query/QueryPhaseCollectorTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,6 +1138,11 @@ public void testSetScorerAfterCollectionTerminated() throws IOException {
11381138
public float score() {
11391139
return 0;
11401140
}
1141+
1142+
@Override
1143+
public int docID() {
1144+
return 0;
1145+
}
11411146
};
11421147

11431148
QueryPhaseCollector queryPhaseCollector = new QueryPhaseCollector(
@@ -1467,6 +1472,11 @@ public float score() throws IOException {
14671472
return 0;
14681473
}
14691474

1475+
@Override
1476+
public int docID() {
1477+
return 0;
1478+
}
1479+
14701480
@Override
14711481
public void setMinCompetitiveScore(float minScore) {
14721482
setMinCompetitiveScoreCalled = true;

server/src/test/java/org/elasticsearch/search/sort/BucketedSortForFloatsTests.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,18 @@ public void testScorer() throws IOException {
120120
}
121121

122122
private class MockScorable extends Scorable {
123+
private int doc;
123124
private float score;
124125

125126
@Override
126127
public float score() throws IOException {
127128
return score;
128129
}
130+
131+
@Override
132+
public int docID() {
133+
return doc;
134+
}
129135
}
130136

131137
/**

0 commit comments

Comments
 (0)