Skip to content

Commit c075c5e

Browse files
iprenticIndy Prentice
andauthored
fix(search): Transform _entityType/index output for scroll across entities as well (#8117)
Co-authored-by: Indy Prentice <[email protected]>
1 parent 2c4a59b commit c075c5e

File tree

1 file changed

+10
-4
lines changed
  • metadata-io/src/main/java/com/linkedin/metadata/search/elasticsearch/query

1 file changed

+10
-4
lines changed

metadata-io/src/main/java/com/linkedin/metadata/search/elasticsearch/query/ESSearchDAO.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,14 +131,20 @@ private AggregationMetadata transformAggregationMetadata(@Nonnull AggregationMet
131131

132132
@VisibleForTesting
133133
SearchResult transformIndexIntoEntityName(SearchResult result) {
134-
AggregationMetadataArray aggArray = result.getMetadata().getAggregations();
134+
return result.setMetadata(result.getMetadata().setAggregations(transformIndexIntoEntityName(result.getMetadata().getAggregations())));
135+
}
136+
private ScrollResult transformIndexIntoEntityName(ScrollResult result) {
137+
return result.setMetadata(result.getMetadata().setAggregations(transformIndexIntoEntityName(result.getMetadata().getAggregations())));
138+
}
139+
140+
private AggregationMetadataArray transformIndexIntoEntityName(AggregationMetadataArray aggArray) {
135141
List<AggregationMetadata> newAggs = new ArrayList<>();
136142
for (AggregationMetadata aggMeta : aggArray) {
137143
List<String> aggregateFacets = List.of(aggMeta.getName().split(AGGREGATION_SEPARATOR_CHAR));
138144
int entityTypeIdx = aggregateFacets.indexOf(INDEX_VIRTUAL_FIELD);
139145
newAggs.add(transformAggregationMetadata(aggMeta, entityTypeIdx));
140146
}
141-
return result.setMetadata(result.getMetadata().setAggregations(new AggregationMetadataArray(newAggs)));
147+
return new AggregationMetadataArray(newAggs);
142148
}
143149

144150
@Nonnull
@@ -148,10 +154,10 @@ private ScrollResult executeAndExtract(@Nonnull List<EntitySpec> entitySpecs, @N
148154
try (Timer.Context ignored = MetricUtils.timer(this.getClass(), "executeAndExtract_scroll").time()) {
149155
final SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
150156
// extract results, validated against document model as well
151-
return SearchRequestHandler
157+
return transformIndexIntoEntityName(SearchRequestHandler
152158
.getBuilder(entitySpecs, searchConfiguration, customSearchConfiguration)
153159
.extractScrollResult(searchResponse,
154-
filter, scrollId, keepAlive, size, supportsPointInTime());
160+
filter, scrollId, keepAlive, size, supportsPointInTime()));
155161
} catch (Exception e) {
156162
if (e instanceof ElasticsearchStatusException) {
157163
final ElasticsearchStatusException statusException = (ElasticsearchStatusException) e;

0 commit comments

Comments
 (0)