Skip to content

Commit 73f11a0

Browse files
committed
Adapt XNamedContents used by ReactiveElasticsearchClient for missing entries (terms and aggregations).
Original Pull Request #1837 Closes #1834 (cherry picked from commit 38dc7fb) (cherry picked from commit 45a0e22)
1 parent 038401f commit 73f11a0

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/main/java/org/springframework/data/elasticsearch/client/util/NamedXContents.java

+20-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
import java.util.Map;
2121
import java.util.stream.Collectors;
2222

23+
import org.elasticsearch.client.analytics.InferencePipelineAggregationBuilder;
24+
import org.elasticsearch.client.analytics.ParsedInference;
25+
import org.elasticsearch.client.analytics.ParsedStringStats;
26+
import org.elasticsearch.client.analytics.ParsedTopMetrics;
27+
import org.elasticsearch.client.analytics.StringStatsAggregationBuilder;
28+
import org.elasticsearch.client.analytics.TopMetricsAggregationBuilder;
2329
import org.elasticsearch.common.ParseField;
2430
import org.elasticsearch.common.xcontent.ContextParser;
2531
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
@@ -44,6 +50,8 @@
4450
import org.elasticsearch.search.aggregations.bucket.histogram.ParsedAutoDateHistogram;
4551
import org.elasticsearch.search.aggregations.bucket.histogram.ParsedDateHistogram;
4652
import org.elasticsearch.search.aggregations.bucket.histogram.ParsedHistogram;
53+
import org.elasticsearch.search.aggregations.bucket.histogram.ParsedVariableWidthHistogram;
54+
import org.elasticsearch.search.aggregations.bucket.histogram.VariableWidthHistogramAggregationBuilder;
4755
import org.elasticsearch.search.aggregations.bucket.missing.MissingAggregationBuilder;
4856
import org.elasticsearch.search.aggregations.bucket.missing.ParsedMissing;
4957
import org.elasticsearch.search.aggregations.bucket.nested.NestedAggregationBuilder;
@@ -64,7 +72,11 @@
6472
import org.elasticsearch.search.aggregations.bucket.terms.LongTerms;
6573
import org.elasticsearch.search.aggregations.bucket.terms.ParsedDoubleTerms;
6674
import org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms;
75+
import org.elasticsearch.search.aggregations.bucket.terms.ParsedSignificantLongTerms;
76+
import org.elasticsearch.search.aggregations.bucket.terms.ParsedSignificantStringTerms;
6777
import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;
78+
import org.elasticsearch.search.aggregations.bucket.terms.SignificantLongTerms;
79+
import org.elasticsearch.search.aggregations.bucket.terms.SignificantStringTerms;
6880
import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
6981
import org.elasticsearch.search.aggregations.metrics.*;
7082
import org.elasticsearch.search.aggregations.pipeline.*;
@@ -81,7 +93,7 @@
8193
* <p>
8294
* Original implementation source {@link org.elasticsearch.client.RestHighLevelClient#getDefaultNamedXContents()} by
8395
* {@literal Elasticsearch} (<a href="https://www.elastic.co">https://www.elastic.co</a>) licensed under the Apache
84-
* License, Version 2.0.
96+
* License, Version 2.0. The latest version used from Elasticsearch is 7.10.2.
8597
* </p>
8698
* Modified for usage with {@link ReactiveElasticsearchClient}.
8799
* <p>
@@ -126,6 +138,8 @@ public static List<NamedXContentRegistry.Entry> getDefaultNamedXContents() {
126138
map.put(HistogramAggregationBuilder.NAME, (p, c) -> ParsedHistogram.fromXContent(p, (String) c));
127139
map.put(DateHistogramAggregationBuilder.NAME, (p, c) -> ParsedDateHistogram.fromXContent(p, (String) c));
128140
map.put(AutoDateHistogramAggregationBuilder.NAME, (p, c) -> ParsedAutoDateHistogram.fromXContent(p, (String) c));
141+
map.put(VariableWidthHistogramAggregationBuilder.NAME,
142+
(p, c) -> ParsedVariableWidthHistogram.fromXContent(p, (String) c));
129143
map.put(StringTerms.NAME, (p, c) -> ParsedStringTerms.fromXContent(p, (String) c));
130144
map.put(LongTerms.NAME, (p, c) -> ParsedLongTerms.fromXContent(p, (String) c));
131145
map.put(DoubleTerms.NAME, (p, c) -> ParsedDoubleTerms.fromXContent(p, (String) c));
@@ -142,10 +156,15 @@ public static List<NamedXContentRegistry.Entry> getDefaultNamedXContents() {
142156
map.put(GeoDistanceAggregationBuilder.NAME, (p, c) -> ParsedGeoDistance.fromXContent(p, (String) c));
143157
map.put(FiltersAggregationBuilder.NAME, (p, c) -> ParsedFilters.fromXContent(p, (String) c));
144158
map.put(AdjacencyMatrixAggregationBuilder.NAME, (p, c) -> ParsedAdjacencyMatrix.fromXContent(p, (String) c));
159+
map.put(SignificantLongTerms.NAME, (p, c) -> ParsedSignificantLongTerms.fromXContent(p, (String) c));
160+
map.put(SignificantStringTerms.NAME, (p, c) -> ParsedSignificantStringTerms.fromXContent(p, (String) c));
145161
map.put(ScriptedMetricAggregationBuilder.NAME, (p, c) -> ParsedScriptedMetric.fromXContent(p, (String) c));
146162
map.put(IpRangeAggregationBuilder.NAME, (p, c) -> ParsedBinaryRange.fromXContent(p, (String) c));
147163
map.put(TopHitsAggregationBuilder.NAME, (p, c) -> ParsedTopHits.fromXContent(p, (String) c));
148164
map.put(CompositeAggregationBuilder.NAME, (p, c) -> ParsedComposite.fromXContent(p, (String) c));
165+
map.put(StringStatsAggregationBuilder.NAME, (p, c) -> ParsedStringStats.PARSER.parse(p, (String) c));
166+
map.put(TopMetricsAggregationBuilder.NAME, (p, c) -> ParsedTopMetrics.PARSER.parse(p, (String) c));
167+
map.put(InferencePipelineAggregationBuilder.NAME, (p, c) -> ParsedInference.fromXContent(p, (String) (c)));
149168
List<NamedXContentRegistry.Entry> entries = map.entrySet().stream().map(
150169
entry -> new NamedXContentRegistry.Entry(Aggregation.class, new ParseField(entry.getKey()), entry.getValue()))
151170
.collect(Collectors.toList());

0 commit comments

Comments
 (0)