Skip to content

Commit a71b2a8

Browse files
committed
added originalQuery in ShardSearchRequest
1 parent 41b6891 commit a71b2a8

File tree

5 files changed

+23
-20
lines changed

5 files changed

+23
-20
lines changed

server/src/main/java/org/elasticsearch/TransportVersion.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,7 @@
1616

1717
import java.io.IOException;
1818
import java.lang.reflect.Field;
19-
import java.util.Collection;
20-
import java.util.Collections;
21-
import java.util.HashMap;
22-
import java.util.Map;
23-
import java.util.NavigableMap;
24-
import java.util.Set;
25-
import java.util.TreeMap;
19+
import java.util.*;
2620

2721
/**
2822
* Represents the version of the wire protocol used to communicate between a pair of ES nodes.
@@ -163,9 +157,10 @@ private static TransportVersion registerTransportVersion(int id, String uniqueId
163157
public static final TransportVersion V_8_500_028 = registerTransportVersion(8_500_028, "a6592d08-15cb-4e1a-b9b4-b2ba24058444");
164158
public static final TransportVersion V_8_500_029 = registerTransportVersion(8_500_029, "f3bd98af-6187-e161-e315-718a2fecc2db");
165159
public static final TransportVersion V_8_500_030 = registerTransportVersion(8_500_030, "b72d7f12-8ed3-4a5b-8e6a-4910ea10e0d7");
160+
public static final TransportVersion V_8_500_031 = registerTransportVersion(8_500_031, "2a229066-1707-4faf-83f8-a678a3395b89");
166161

167162
private static class CurrentHolder {
168-
private static final TransportVersion CURRENT = findCurrent(V_8_500_030);
163+
private static final TransportVersion CURRENT = findCurrent(V_8_500_031);
169164

170165
// finds the pluggable current version, or uses the given fallback
171166
private static TransportVersion findCurrent(TransportVersion fallback) {

server/src/main/java/org/elasticsearch/action/search/CanMatchNodeRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ public ShardSearchRequest createShardSearchRequest(Shard r) {
207207
numberOfShards,
208208
searchType,
209209
source,
210+
source.query(),
210211
requestCache,
211212
r.aliasFilter,
212213
r.indexBoost,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ final class DefaultSearchContext extends SearchContext {
146146
this.shardTarget = shardTarget;
147147
this.indexService = readerContext.indexService();
148148
this.indexShard = readerContext.indexShard();
149-
this.originalQueryBuilder = request.originalSource().query();
149+
this.originalQueryBuilder = request.originalQuery();
150150

151151
Engine.Searcher engineSearcher = readerContext.acquireSearcher("search");
152152
this.searcher = new ContextIndexSearcher(

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

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public class ShardSearchRequest extends TransportRequest implements IndicesReque
8888
// these are the only mutable fields, as they are subject to rewriting
8989
private AliasFilter aliasFilter;
9090
private SearchSourceBuilder source;
91-
private SearchSourceBuilder originalSource;
91+
private QueryBuilder originalQuery;
9292
private final ShardSearchContextId readerId;
9393
private final TimeValue keepAlive;
9494

@@ -148,6 +148,7 @@ public ShardSearchRequest(
148148
numberOfShards,
149149
searchRequest.searchType(),
150150
searchRequest.source(),
151+
searchRequest.source().query(),
151152
searchRequest.requestCache(),
152153
aliasFilter,
153154
indexBoost,
@@ -190,6 +191,7 @@ public ShardSearchRequest(ShardId shardId, long nowInMillis, AliasFilter aliasFi
190191
SearchType.QUERY_THEN_FETCH,
191192
null,
192193
null,
194+
null,
193195
aliasFilter,
194196
1.0f,
195197
true,
@@ -211,6 +213,7 @@ public ShardSearchRequest(
211213
int numberOfShards,
212214
SearchType searchType,
213215
SearchSourceBuilder source,
216+
QueryBuilder originalQuery,
214217
Boolean requestCache,
215218
AliasFilter aliasFilter,
216219
float indexBoost,
@@ -229,7 +232,7 @@ public ShardSearchRequest(
229232
this.numberOfShards = numberOfShards;
230233
this.searchType = searchType;
231234
this.source(source);
232-
this.originalSource(source);
235+
this.originalQuery(originalQuery);
233236
this.requestCache = requestCache;
234237
this.aliasFilter = aliasFilter;
235238
this.indexBoost = indexBoost;
@@ -254,7 +257,7 @@ public ShardSearchRequest(ShardSearchRequest clone) {
254257
this.numberOfShards = clone.numberOfShards;
255258
this.scroll = clone.scroll;
256259
this.source(clone.source);
257-
this.originalSource(clone.originalSource);
260+
this.originalQuery(clone.originalQuery);
258261
this.aliasFilter = clone.aliasFilter;
259262
this.indexBoost = clone.indexBoost;
260263
this.nowInMillis = clone.nowInMillis;
@@ -280,7 +283,9 @@ public ShardSearchRequest(StreamInput in) throws IOException {
280283
numberOfShards = in.readVInt();
281284
scroll = in.readOptionalWriteable(Scroll::new);
282285
source = in.readOptionalWriteable(SearchSourceBuilder::new);
283-
originalSource = source;
286+
if (in.getTransportVersion().onOrAfter(TransportVersion.V_8_500_031)) {
287+
originalQuery = in.readOptionalNamedWriteable(QueryBuilder.class);
288+
}
284289
if (in.getTransportVersion().onOrAfter(TransportVersion.V_8_8_0) && in.getTransportVersion().before(TransportVersion.V_8_500_013)) {
285290
// to deserialize between the 8.8 and 8.500.013 version we need to translate
286291
// the rank queries into sub searches if we are ranking; if there are no rank queries
@@ -302,7 +307,6 @@ public ShardSearchRequest(StreamInput in) throws IOException {
302307
subSearchSourceBuilders.add(new SubSearchSourceBuilder(queryBuilder));
303308
}
304309
source.subSearches(subSearchSourceBuilders);
305-
originalSource.subSearches(subSearchSourceBuilders);
306310
}
307311
}
308312
if (in.getTransportVersion().before(TransportVersion.V_8_0_0)) {
@@ -375,6 +379,9 @@ protected final void innerWriteTo(StreamOutput out, boolean asKey) throws IOExce
375379
}
376380
out.writeOptionalWriteable(scroll);
377381
out.writeOptionalWriteable(source);
382+
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_500_031)) {
383+
out.writeOptionalNamedWriteable(originalQuery);
384+
}
378385
if (out.getTransportVersion().onOrAfter(TransportVersion.V_8_8_0)
379386
&& out.getTransportVersion().before(TransportVersion.V_8_500_013)) {
380387
// to serialize between the 8.8 and 8.500.013 version we need to translate
@@ -459,12 +466,12 @@ public SearchSourceBuilder source() {
459466
return source;
460467
}
461468

462-
public SearchSourceBuilder originalSource() {
463-
return originalSource;
469+
public QueryBuilder originalQuery() {
470+
return originalQuery;
464471
}
465472

466-
public void originalSource(SearchSourceBuilder originalSource) {
467-
this.originalSource = originalSource;
473+
public void originalQuery(QueryBuilder originalQuery) {
474+
this.originalQuery = originalQuery;
468475
}
469476

470477
public AliasFilter getAliasFilter() {
@@ -641,7 +648,7 @@ public Rewriteable rewrite(QueryRewriteContext ctx) throws IOException {
641648
newSource.size(0);
642649
}
643650
request.source(newSource);
644-
request.originalSource(request.source());
651+
request.originalQuery(request.source().query());
645652
request.setBottomSortValues(null);
646653
}
647654

test/framework/src/main/java/org/elasticsearch/test/TestSearchContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public TestSearchContext(IndexService indexService) {
8888
this.indexShard = indexService.getShardOrNull(0);
8989
searchExecutionContext = indexService.newSearchExecutionContext(0, 0, null, () -> 0L, null, emptyMap());
9090
this.request = new ShardSearchRequest(indexShard.shardId(), 0L, AliasFilter.EMPTY);
91-
this.originalQueryBuilder = request.originalSource().query();
91+
this.originalQueryBuilder = request.originalQuery();
9292
}
9393

9494
public TestSearchContext(SearchExecutionContext searchExecutionContext) {

0 commit comments

Comments
 (0)