Skip to content

Commit b61bffb

Browse files
kderussoelasticsearchmachine
authored andcommitted
Add chunk_rescorer usage to output of explain and profile for text_similarity_rank_retriever (elastic#137249)
* Add chunk_rescorer usage to output of explain for text_similarity_rank_retriever * Update docs/changelog/137249.yaml * Update toString * Add support for profile * Update 137249.yaml * That's what you get for resolving conflicts in the UI, fixed compile failure * [CI] Auto commit changes from spotless * Fix test compilation --------- Co-authored-by: elasticsearchmachine <[email protected]>
1 parent fbdc2cb commit b61bffb

File tree

21 files changed

+267
-33
lines changed

21 files changed

+267
-33
lines changed

docs/changelog/137249.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
pr: 137249
2+
summary: Add `chunk_rescorer` usage to output of explain and profile for `text_similarity_rank_retriever`
3+
area: Relevance
4+
type: enhancement
5+
issues: []

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ public void onFailure(Exception e) {
598598
});
599599

600600
final boolean isExplain = source != null && source.explain() != null && source.explain();
601+
final boolean isProfile = source != null && source.profile();
601602
Rewriteable.rewriteAndFetch(
602603
original,
603604
searchService.getRewriteContext(
@@ -607,7 +608,8 @@ public void onFailure(Exception e) {
607608
resolvedIndices,
608609
original.pointInTimeBuilder(),
609610
shouldMinimizeRoundtrips(original),
610-
isExplain
611+
isExplain,
612+
isProfile
611613
),
612614
rewriteListener
613615
);

server/src/main/java/org/elasticsearch/index/IndexService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,7 @@ public QueryRewriteContext newQueryRewriteContext(
835835
null,
836836
null,
837837
null,
838+
false,
838839
false
839840
);
840841
}

server/src/main/java/org/elasticsearch/index/query/CoordinatorRewriteContext.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ public CoordinatorRewriteContext(
123123
null,
124124
null,
125125
null,
126+
false,
126127
false
127128
);
128129
this.dateFieldRangeInfo = dateFieldRangeInfo;

server/src/main/java/org/elasticsearch/index/query/QueryRewriteContext.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public class QueryRewriteContext {
8080
private QueryRewriteInterceptor queryRewriteInterceptor;
8181
private final Boolean ccsMinimizeRoundTrips;
8282
private final boolean isExplain;
83+
private final boolean isProfile;
8384
private Long timeRangeFilterFromMillis;
8485
private boolean trackTimeRangeFilterFrom = true;
8586

@@ -103,7 +104,8 @@ public QueryRewriteContext(
103104
final PointInTimeBuilder pit,
104105
final QueryRewriteInterceptor queryRewriteInterceptor,
105106
final Boolean ccsMinimizeRoundTrips,
106-
final boolean isExplain
107+
final boolean isExplain,
108+
final boolean isProfile
107109
) {
108110

109111
this.parserConfiguration = parserConfiguration;
@@ -127,6 +129,7 @@ public QueryRewriteContext(
127129
this.queryRewriteInterceptor = queryRewriteInterceptor;
128130
this.ccsMinimizeRoundTrips = ccsMinimizeRoundTrips;
129131
this.isExplain = isExplain;
132+
this.isProfile = isProfile;
130133
}
131134

132135
public QueryRewriteContext(final XContentParserConfiguration parserConfiguration, final Client client, final LongSupplier nowInMillis) {
@@ -150,6 +153,7 @@ public QueryRewriteContext(final XContentParserConfiguration parserConfiguration
150153
null,
151154
null,
152155
null,
156+
false,
153157
false
154158
);
155159
}
@@ -175,6 +179,7 @@ public QueryRewriteContext(
175179
pit,
176180
queryRewriteInterceptor,
177181
ccsMinimizeRoundTrips,
182+
false,
178183
false
179184
);
180185
}
@@ -189,7 +194,8 @@ public QueryRewriteContext(
189194
final PointInTimeBuilder pit,
190195
final QueryRewriteInterceptor queryRewriteInterceptor,
191196
final Boolean ccsMinimizeRoundTrips,
192-
final boolean isExplain
197+
final boolean isExplain,
198+
final boolean isProfile
193199
) {
194200
this(
195201
parserConfiguration,
@@ -211,7 +217,8 @@ public QueryRewriteContext(
211217
pit,
212218
queryRewriteInterceptor,
213219
ccsMinimizeRoundTrips,
214-
isExplain
220+
isExplain,
221+
isProfile
215222
);
216223
}
217224

@@ -324,6 +331,10 @@ public boolean isExplain() {
324331
return this.isExplain;
325332
}
326333

334+
public boolean isProfile() {
335+
return this.isProfile;
336+
}
337+
327338
public NamedWriteableRegistry getWriteableRegistry() {
328339
return writeableRegistry;
329340
}

server/src/main/java/org/elasticsearch/index/query/SearchExecutionContext.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ private SearchExecutionContext(
282282
null,
283283
null,
284284
null,
285+
false,
285286
false
286287
);
287288
this.shardId = shardId;

server/src/main/java/org/elasticsearch/indices/IndicesService.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1852,7 +1852,8 @@ public QueryRewriteContext getRewriteContext(
18521852
ResolvedIndices resolvedIndices,
18531853
PointInTimeBuilder pit,
18541854
final Boolean ccsMinimizeRoundTrips,
1855-
final boolean isExplain
1855+
final boolean isExplain,
1856+
final boolean isProfile
18561857
) {
18571858
return new QueryRewriteContext(
18581859
parserConfig,
@@ -1864,7 +1865,8 @@ public QueryRewriteContext getRewriteContext(
18641865
pit,
18651866
queryRewriteInterceptor,
18661867
ccsMinimizeRoundTrips,
1867-
isExplain
1868+
isExplain,
1869+
isProfile
18681870
);
18691871
}
18701872

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2159,7 +2159,7 @@ public QueryRewriteContext getRewriteContext(
21592159
PointInTimeBuilder pit,
21602160
final Boolean ccsMinimizeRoundTrips
21612161
) {
2162-
return getRewriteContext(nowInMillis, minTransportVersion, clusterAlias, resolvedIndices, pit, ccsMinimizeRoundTrips, false);
2162+
return getRewriteContext(nowInMillis, minTransportVersion, clusterAlias, resolvedIndices, pit, ccsMinimizeRoundTrips, false, false);
21632163
}
21642164

21652165
/**
@@ -2172,7 +2172,8 @@ public QueryRewriteContext getRewriteContext(
21722172
ResolvedIndices resolvedIndices,
21732173
PointInTimeBuilder pit,
21742174
final Boolean ccsMinimizeRoundTrips,
2175-
final boolean isExplain
2175+
final boolean isExplain,
2176+
final boolean isProfile
21762177
) {
21772178
return indicesService.getRewriteContext(
21782179
nowInMillis,
@@ -2181,7 +2182,8 @@ public QueryRewriteContext getRewriteContext(
21812182
resolvedIndices,
21822183
pit,
21832184
ccsMinimizeRoundTrips,
2184-
isExplain
2185+
isExplain,
2186+
isProfile
21852187
);
21862188
}
21872189

server/src/main/java/org/elasticsearch/search/retriever/CompoundRetrieverBuilder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,8 @@ public void onResponse(MultiSearchResponse items) {
191191
failures.forEach(ex::addSuppressed);
192192
listener.onFailure(ex);
193193
} else {
194-
results.set(combineInnerRetrieverResults(topDocs, ctx.isExplain()));
194+
boolean enrichResults = ctx.isExplain() || ctx.isProfile();
195+
results.set(combineInnerRetrieverResults(topDocs, enrichResults));
195196
listener.onResponse(null);
196197
}
197198
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
9205000

0 commit comments

Comments
 (0)