Skip to content

Commit 653a547

Browse files
committed
Remove some unnecessary methods from SearchContext. (#64672)
* Remove unused methods. * Avoid exposing queryBoost. * Remove docIdsToLoadFrom, since it's always set to 0. * Remove doClose.
1 parent c6bfc96 commit 653a547

File tree

9 files changed

+18
-174
lines changed

9 files changed

+18
-174
lines changed

server/src/main/java/org/elasticsearch/search/DefaultSearchContext.java

Lines changed: 6 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.elasticsearch.action.search.SearchType;
3232
import org.elasticsearch.cluster.service.ClusterService;
3333
import org.elasticsearch.common.Nullable;
34-
import org.elasticsearch.common.lease.Releasables;
3534
import org.elasticsearch.common.lucene.search.Queries;
3635
import org.elasticsearch.common.unit.TimeValue;
3736
import org.elasticsearch.common.util.BigArrays;
@@ -47,7 +46,6 @@
4746
import org.elasticsearch.index.query.QueryShardContext;
4847
import org.elasticsearch.index.search.NestedHelper;
4948
import org.elasticsearch.index.shard.IndexShard;
50-
import org.elasticsearch.index.similarity.SimilarityService;
5149
import org.elasticsearch.search.aggregations.SearchContextAggregations;
5250
import org.elasticsearch.search.collapse.CollapseContext;
5351
import org.elasticsearch.search.dfs.DfsSearchResult;
@@ -85,7 +83,6 @@
8583
final class DefaultSearchContext extends SearchContext {
8684

8785
private final ReaderContext readerContext;
88-
private final Engine.Searcher engineSearcher;
8986
private final ShardSearchRequest request;
9087
private final SearchShardTarget shardTarget;
9188
private final LongSupplier relativeTimeSupplier;
@@ -139,7 +136,6 @@ final class DefaultSearchContext extends SearchContext {
139136
private ParsedQuery postFilter;
140137
private Query aliasFilter;
141138
private int[] docIdsToLoad;
142-
private int docsIdsToLoadFrom;
143139
private int docsIdsToLoadSize;
144140
private SearchContextAggregations aggregations;
145141
private SearchHighlightContext highlight;
@@ -175,9 +171,12 @@ final class DefaultSearchContext extends SearchContext {
175171
this.indexService = readerContext.indexService();
176172
this.indexShard = readerContext.indexShard();
177173
this.clusterService = clusterService;
178-
this.engineSearcher = readerContext.acquireSearcher("search");
174+
175+
Engine.Searcher engineSearcher = readerContext.acquireSearcher("search");
179176
this.searcher = new ContextIndexSearcher(engineSearcher.getIndexReader(), engineSearcher.getSimilarity(),
180177
engineSearcher.getQueryCache(), engineSearcher.getQueryCachingPolicy(), lowLevelCancellation);
178+
releasables.addAll(org.elasticsearch.common.collect.List.of(engineSearcher, searcher));
179+
181180
this.relativeTimeSupplier = relativeTimeSupplier;
182181
this.timeout = timeout;
183182
this.minNodeVersion = minNodeVersion;
@@ -188,11 +187,6 @@ final class DefaultSearchContext extends SearchContext {
188187
this.lowLevelCancellation = lowLevelCancellation;
189188
}
190189

191-
@Override
192-
public void doClose() {
193-
Releasables.close(engineSearcher, searcher);
194-
}
195-
196190
/**
197191
* Should be called before executing the main query and after all other parameters have been set.
198192
*/
@@ -255,7 +249,7 @@ public void preProcess(boolean rewrite) {
255249
if (query() == null) {
256250
parsedQuery(ParsedQuery.parsedMatchAllQuery());
257251
}
258-
if (queryBoost() != AbstractQueryBuilder.DEFAULT_BOOST) {
252+
if (queryBoost != AbstractQueryBuilder.DEFAULT_BOOST) {
259253
parsedQuery(new ParsedQuery(new BoostQuery(query(), queryBoost), parsedQuery()));
260254
}
261255
this.query = buildFilteredQuery(query);
@@ -350,11 +344,6 @@ public int numberOfShards() {
350344
return request.numberOfShards();
351345
}
352346

353-
@Override
354-
public float queryBoost() {
355-
return queryBoost;
356-
}
357-
358347
@Override
359348
public ScrollContext scrollContext() {
360349
return readerContext.scrollContext();
@@ -493,11 +482,6 @@ public MapperService mapperService() {
493482
return indexService.mapperService();
494483
}
495484

496-
@Override
497-
public SimilarityService similarityService() {
498-
return indexService.similarityService();
499-
}
500-
501485
@Override
502486
public BigArrays bigArrays() {
503487
return bigArrays;
@@ -615,11 +599,6 @@ public ParsedQuery parsedPostFilter() {
615599
return this.postFilter;
616600
}
617601

618-
@Override
619-
public Query aliasFilter() {
620-
return aliasFilter;
621-
}
622-
623602
@Override
624603
public SearchContext parsedQuery(ParsedQuery query) {
625604
this.originalQuery = query;
@@ -667,11 +646,6 @@ public boolean hasStoredFields() {
667646
return storedFields != null && storedFields.fieldNames() != null;
668647
}
669648

670-
@Override
671-
public boolean hasStoredFieldsContext() {
672-
return storedFields != null;
673-
}
674-
675649
@Override
676650
public StoredFieldsContext storedFieldsContext() {
677651
return storedFields;
@@ -683,11 +657,6 @@ public SearchContext storedFieldsContext(StoredFieldsContext storedFieldsContext
683657
return this;
684658
}
685659

686-
@Override
687-
public boolean storedFieldsRequested() {
688-
return storedFields == null || storedFields.fetchFields();
689-
}
690-
691660
@Override
692661
public boolean explain() {
693662
return explain;
@@ -734,20 +703,14 @@ public int[] docIdsToLoad() {
734703
return docIdsToLoad;
735704
}
736705

737-
@Override
738-
public int docIdsToLoadFrom() {
739-
return docsIdsToLoadFrom;
740-
}
741-
742706
@Override
743707
public int docIdsToLoadSize() {
744708
return docsIdsToLoadSize;
745709
}
746710

747711
@Override
748-
public SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadFrom, int docsIdsToLoadSize) {
712+
public SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadSize) {
749713
this.docIdsToLoad = docIdsToLoad;
750-
this.docsIdsToLoadFrom = docsIdsToLoadFrom;
751714
this.docsIdsToLoadSize = docsIdsToLoadSize;
752715
return this;
753716
}

server/src/main/java/org/elasticsearch/search/SearchService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ public void executeFetchPhase(ShardFetchRequest request, SearchShardTask task, A
585585
}
586586
searchContext.assignRescoreDocIds(readerContext.getRescoreDocIds(request.getRescoreDocIds()));
587587
searchContext.searcher().setAggregatedDfs(readerContext.getAggregatedDfs(request.getAggregatedDfs()));
588-
searchContext.docIdsToLoad(request.docIds(), 0, request.docIdsSize());
588+
searchContext.docIdsToLoad(request.docIds(), request.docIdsSize());
589589
try (SearchOperationListenerExecutor executor =
590590
new SearchOperationListenerExecutor(searchContext, true, System.nanoTime())) {
591591
fetchPhase.execute(searchContext);
@@ -1101,7 +1101,7 @@ private void shortcutDocIdsToLoad(SearchContext context) {
11011101
docIdsToLoad[docsOffset++] = option.getDoc().doc;
11021102
}
11031103
}
1104-
context.docIdsToLoad(docIdsToLoad, 0, docIdsToLoad.length);
1104+
context.docIdsToLoad(docIdsToLoad, docIdsToLoad.length);
11051105
}
11061106

11071107
private void processScroll(InternalScrollSearchRequest request, ReaderContext reader, SearchContext context) {

server/src/main/java/org/elasticsearch/search/aggregations/metrics/TopHitsAggregator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ public InternalAggregation buildAggregation(long owningBucketOrdinal) throws IOE
191191
for (int i = 0; i < topDocs.scoreDocs.length; i++) {
192192
docIdsToLoad[i] = topDocs.scoreDocs[i].doc;
193193
}
194-
subSearchContext.docIdsToLoad(docIdsToLoad, 0, docIdsToLoad.length);
194+
subSearchContext.docIdsToLoad(docIdsToLoad, docIdsToLoad.length);
195195
fetchPhase.execute(subSearchContext);
196196
FetchSearchResult fetchResult = subSearchContext.fetchResult();
197197
SearchHit[] internalHits = fetchResult.fetchResult().hits().getHits();

server/src/main/java/org/elasticsearch/search/fetch/FetchPhase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public void execute(SearchContext context) {
110110

111111
DocIdToIndex[] docs = new DocIdToIndex[context.docIdsToLoadSize()];
112112
for (int index = 0; index < context.docIdsToLoadSize(); index++) {
113-
docs[index] = new DocIdToIndex(context.docIdsToLoad()[context.docIdsToLoadFrom() + index], index);
113+
docs[index] = new DocIdToIndex(context.docIdsToLoad()[index], index);
114114
}
115115
// make sure that we iterate in doc id order
116116
Arrays.sort(docs);

server/src/main/java/org/elasticsearch/search/fetch/subphase/InnerHitsPhase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ private void hitExecute(Map<String, InnerHitsContext.InnerHitSubContext> innerHi
8282
for (int j = 0; j < topDoc.topDocs.scoreDocs.length; j++) {
8383
docIdsToLoad[j] = topDoc.topDocs.scoreDocs[j].doc;
8484
}
85-
innerHitsContext.docIdsToLoad(docIdsToLoad, 0, docIdsToLoad.length);
85+
innerHitsContext.docIdsToLoad(docIdsToLoad, docIdsToLoad.length);
8686
innerHitsContext.setRootId(new Uid(hit.getType(), hit.getId()));
8787
innerHitsContext.setRootLookup(sourceLookup);
8888

server/src/main/java/org/elasticsearch/search/internal/FilteredSearchContext.java

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.elasticsearch.index.query.ParsedQuery;
3232
import org.elasticsearch.index.query.QueryShardContext;
3333
import org.elasticsearch.index.shard.IndexShard;
34-
import org.elasticsearch.index.similarity.SimilarityService;
3534
import org.elasticsearch.search.SearchExtBuilder;
3635
import org.elasticsearch.search.SearchShardTarget;
3736
import org.elasticsearch.search.aggregations.SearchContextAggregations;
@@ -66,16 +65,6 @@ public boolean hasStoredFields() {
6665
return in.hasStoredFields();
6766
}
6867

69-
@Override
70-
public boolean hasStoredFieldsContext() {
71-
return in.hasStoredFieldsContext();
72-
}
73-
74-
@Override
75-
public boolean storedFieldsRequested() {
76-
return in.storedFieldsRequested();
77-
}
78-
7968
@Override
8069
public StoredFieldsContext storedFieldsContext() {
8170
return in.storedFieldsContext();
@@ -86,11 +75,6 @@ public SearchContext storedFieldsContext(StoredFieldsContext storedFieldsContext
8675
return in.storedFieldsContext(storedFieldsContext);
8776
}
8877

89-
@Override
90-
protected void doClose() {
91-
in.doClose();
92-
}
93-
9478
@Override
9579
public void preProcess(boolean rewrite) {
9680
in.preProcess(rewrite);
@@ -131,11 +115,6 @@ public int numberOfShards() {
131115
return in.numberOfShards();
132116
}
133117

134-
@Override
135-
public float queryBoost() {
136-
return in.queryBoost();
137-
}
138-
139118
@Override
140119
public ScrollContext scrollContext() {
141120
return in.scrollContext();
@@ -226,11 +205,6 @@ public MapperService mapperService() {
226205
return in.mapperService();
227206
}
228207

229-
@Override
230-
public SimilarityService similarityService() {
231-
return in.similarityService();
232-
}
233-
234208
@Override
235209
public BigArrays bigArrays() {
236210
return in.bigArrays();
@@ -326,11 +300,6 @@ public ParsedQuery parsedPostFilter() {
326300
return in.parsedPostFilter();
327301
}
328302

329-
@Override
330-
public Query aliasFilter() {
331-
return in.aliasFilter();
332-
}
333-
334303
@Override
335304
public SearchContext parsedQuery(ParsedQuery query) {
336305
return in.parsedQuery(query);
@@ -413,18 +382,8 @@ public int[] docIdsToLoad() {
413382
}
414383

415384
@Override
416-
public int docIdsToLoadFrom() {
417-
return in.docIdsToLoadFrom();
418-
}
419-
420-
@Override
421-
public int docIdsToLoadSize() {
422-
return in.docIdsToLoadSize();
423-
}
424-
425-
@Override
426-
public SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadFrom, int docsIdsToLoadSize) {
427-
return in.docIdsToLoad(docIdsToLoad, docsIdsToLoadFrom, docsIdsToLoadSize);
385+
public SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadSize) {
386+
return in.docIdsToLoad(docIdsToLoad, docsIdsToLoadSize);
428387
}
429388

430389
@Override

server/src/main/java/org/elasticsearch/search/internal/SearchContext.java

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.elasticsearch.index.query.ParsedQuery;
3535
import org.elasticsearch.index.query.QueryShardContext;
3636
import org.elasticsearch.index.shard.IndexShard;
37-
import org.elasticsearch.index.similarity.SimilarityService;
3837
import org.elasticsearch.search.RescoreDocIds;
3938
import org.elasticsearch.search.SearchExtBuilder;
4039
import org.elasticsearch.search.SearchShardTarget;
@@ -75,7 +74,7 @@ public abstract class SearchContext implements Releasable {
7574
public static final int TRACK_TOTAL_HITS_DISABLED = -1;
7675
public static final int DEFAULT_TRACK_TOTAL_HITS_UP_TO = 10000;
7776

78-
private final List<Releasable> releasables = new CopyOnWriteArrayList<>();
77+
protected final List<Releasable> releasables = new CopyOnWriteArrayList<>();
7978
private final AtomicBoolean closed = new AtomicBoolean(false);
8079
private InnerHitsContext innerHitsContext;
8180

@@ -90,16 +89,10 @@ protected SearchContext() {}
9089
@Override
9190
public final void close() {
9291
if (closed.compareAndSet(false, true)) {
93-
try {
94-
Releasables.close(releasables);
95-
} finally {
96-
doClose();
97-
}
92+
Releasables.close(releasables);
9893
}
9994
}
10095

101-
protected abstract void doClose();
102-
10396
/**
10497
* Should be called before executing the main query and after all other parameters have been set.
10598
* @param rewrite if the set query should be rewritten against the searcher returned from {@link #searcher()}
@@ -122,8 +115,6 @@ public final void close() {
122115

123116
public abstract int numberOfShards();
124117

125-
public abstract float queryBoost();
126-
127118
public abstract ScrollContext scrollContext();
128119

129120
public abstract SearchContextAggregations aggregations();
@@ -221,8 +212,6 @@ public final void assignRescoreDocIds(RescoreDocIds rescoreDocIds) {
221212

222213
public abstract MapperService mapperService();
223214

224-
public abstract SimilarityService similarityService();
225-
226215
public abstract BigArrays bigArrays();
227216

228217
public abstract BitsetFilterCache bitsetFilterCache();
@@ -275,8 +264,6 @@ public final void assignRescoreDocIds(RescoreDocIds rescoreDocIds) {
275264

276265
public abstract ParsedQuery parsedPostFilter();
277266

278-
public abstract Query aliasFilter();
279-
280267
public abstract SearchContext parsedQuery(ParsedQuery query);
281268

282269
public abstract ParsedQuery parsedQuery();
@@ -296,13 +283,6 @@ public final void assignRescoreDocIds(RescoreDocIds rescoreDocIds) {
296283

297284
public abstract boolean hasStoredFields();
298285

299-
public abstract boolean hasStoredFieldsContext();
300-
301-
/**
302-
* A shortcut function to see whether there is a storedFieldsContext and it says the fields are requested.
303-
*/
304-
public abstract boolean storedFieldsRequested();
305-
306286
public abstract StoredFieldsContext storedFieldsContext();
307287

308288
public abstract SearchContext storedFieldsContext(StoredFieldsContext storedFieldsContext);
@@ -328,11 +308,9 @@ public final void assignRescoreDocIds(RescoreDocIds rescoreDocIds) {
328308

329309
public abstract int[] docIdsToLoad();
330310

331-
public abstract int docIdsToLoadFrom();
332-
333311
public abstract int docIdsToLoadSize();
334312

335-
public abstract SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadFrom, int docsIdsToLoadSize);
313+
public abstract SearchContext docIdsToLoad(int[] docIdsToLoad, int docsIdsToLoadSize);
336314

337315
public abstract DfsSearchResult dfsResult();
338316

0 commit comments

Comments
 (0)