Skip to content

Commit 88a4689

Browse files
kderussoelasticsearchmachine
andauthored
Add chunk_rescorer usage to output of explain and profile for text_similarity_rank_retriever (#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 2a9e654 commit 88a4689

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
@@ -2158,7 +2158,7 @@ public QueryRewriteContext getRewriteContext(
21582158
PointInTimeBuilder pit,
21592159
final Boolean ccsMinimizeRoundTrips
21602160
) {
2161-
return getRewriteContext(nowInMillis, minTransportVersion, clusterAlias, resolvedIndices, pit, ccsMinimizeRoundTrips, false);
2161+
return getRewriteContext(nowInMillis, minTransportVersion, clusterAlias, resolvedIndices, pit, ccsMinimizeRoundTrips, false, false);
21622162
}
21632163

21642164
/**
@@ -2171,7 +2171,8 @@ public QueryRewriteContext getRewriteContext(
21712171
ResolvedIndices resolvedIndices,
21722172
PointInTimeBuilder pit,
21732173
final Boolean ccsMinimizeRoundTrips,
2174-
final boolean isExplain
2174+
final boolean isExplain,
2175+
final boolean isProfile
21752176
) {
21762177
return indicesService.getRewriteContext(
21772178
nowInMillis,
@@ -2180,7 +2181,8 @@ public QueryRewriteContext getRewriteContext(
21802181
resolvedIndices,
21812182
pit,
21822183
ccsMinimizeRoundTrips,
2183-
isExplain
2184+
isExplain,
2185+
isProfile
21842186
);
21852187
}
21862188

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)