diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/search/SearchService.java b/modules/elasticsearch/src/main/java/org/elasticsearch/search/SearchService.java index 36e22eb315a..b2db301f826 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/search/SearchService.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/search/SearchService.java @@ -421,7 +421,7 @@ public class SearchService extends AbstractLifecycleComponent { SearchShardTarget shardTarget = new SearchShardTarget(clusterService.localNode().id(), request.index(), request.shardId()); Engine.Searcher engineSearcher = indexShard.searcher(); - SearchContext context = new SearchContext(idGenerator.incrementAndGet(), shardTarget, request.searchType(), request.numberOfShards(), request.nowInMillis(), request.timeout(), request.types(), engineSearcher, indexService, indexShard, scriptService); + SearchContext context = new SearchContext(idGenerator.incrementAndGet(), request, shardTarget, engineSearcher, indexService, indexShard, scriptService); SearchContext.setCurrent(context); try { context.scroll(request.scroll()); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java b/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java index 7e6727fcf13..c590e7b7b69 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/search/internal/SearchContext.java @@ -80,12 +80,12 @@ public class SearchContext implements Releasable { private final long id; + private final InternalSearchRequest request; + private final SearchShardTarget shardTarget; private SearchType searchType; - private final int numberOfShards; - private final Engine.Searcher engineSearcher; private final ScriptService scriptService; @@ -102,10 +102,6 @@ public class SearchContext implements Releasable { private final FetchSearchResult fetchResult; - private final long nowInMillis; - - private final TimeValue timeout; - private float queryBoost = 1.0f; @@ -123,8 +119,6 @@ public class SearchContext implements Releasable { private int size = -1; - private String[] types; - private Sort sort; private Float minimumScore; @@ -163,15 +157,12 @@ public class SearchContext implements Releasable { private Map nestedQueries; - public SearchContext(long id, SearchShardTarget shardTarget, SearchType searchType, int numberOfShards, long nowInMillis, TimeValue timeout, - String[] types, Engine.Searcher engineSearcher, IndexService indexService, IndexShard indexShard, ScriptService scriptService) { + public SearchContext(long id, InternalSearchRequest request, SearchShardTarget shardTarget, + Engine.Searcher engineSearcher, IndexService indexService, IndexShard indexShard, ScriptService scriptService) { this.id = id; - this.nowInMillis = nowInMillis; - this.searchType = searchType; + this.request = request; + this.searchType = request.searchType(); this.shardTarget = shardTarget; - this.numberOfShards = numberOfShards; - this.timeout = timeout; - this.types = types; this.engineSearcher = engineSearcher; this.scriptService = scriptService; this.dfsResult = new DfsSearchResult(id, shardTarget); @@ -204,6 +195,10 @@ public class SearchContext implements Releasable { return this.id; } + public InternalSearchRequest request() { + return this.request; + } + public SearchType searchType() { return this.searchType; } @@ -218,15 +213,15 @@ public class SearchContext implements Releasable { } public int numberOfShards() { - return this.numberOfShards; + return request.numberOfShards(); } public boolean hasTypes() { - return types != null && types.length > 0; + return request.types() != null && request.types().length > 0; } public String[] types() { - return types; + return request.types(); } public float queryBoost() { @@ -239,7 +234,7 @@ public class SearchContext implements Releasable { } public long nowInMillis() { - return nowInMillis; + return request.nowInMillis(); } public Scroll scroll() { @@ -320,7 +315,7 @@ public class SearchContext implements Releasable { } public TimeValue timeout() { - return timeout; + return request.timeout(); } public SearchContext minimumScore(float minimumScore) { @@ -536,18 +531,18 @@ public class SearchContext implements Releasable { } public MapperService.SmartNameFieldMappers smartFieldMappers(String name) { - return mapperService().smartName(name, types); + return mapperService().smartName(name, request.types()); } public FieldMappers smartNameFieldMappers(String name) { - return mapperService().smartNameFieldMappers(name, types); + return mapperService().smartNameFieldMappers(name, request.types()); } public FieldMapper smartNameFieldMapper(String name) { - return mapperService().smartNameFieldMapper(name, types); + return mapperService().smartNameFieldMapper(name, request.types()); } public MapperService.SmartNameObjectMapper smartNameObjectMapper(String name) { - return mapperService().smartNameObjectMapper(name, types); + return mapperService().smartNameObjectMapper(name, request.types()); } }