Skip to content

Commit 45a0e22

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)
1 parent 8c8c0eb commit 45a0e22

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

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

+19-7
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;
@@ -60,12 +68,7 @@
6068
import org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder;
6169
import org.elasticsearch.search.aggregations.bucket.sampler.InternalSampler;
6270
import org.elasticsearch.search.aggregations.bucket.sampler.ParsedSampler;
63-
import org.elasticsearch.search.aggregations.bucket.terms.DoubleTerms;
64-
import org.elasticsearch.search.aggregations.bucket.terms.LongTerms;
65-
import org.elasticsearch.search.aggregations.bucket.terms.ParsedDoubleTerms;
66-
import org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms;
67-
import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;
68-
import org.elasticsearch.search.aggregations.bucket.terms.StringTerms;
71+
import org.elasticsearch.search.aggregations.bucket.terms.*;
6972
import org.elasticsearch.search.aggregations.metrics.*;
7073
import org.elasticsearch.search.aggregations.pipeline.*;
7174
import org.elasticsearch.search.suggest.Suggest;
@@ -81,7 +84,7 @@
8184
* <p>
8285
* Original implementation source {@link org.elasticsearch.client.RestHighLevelClient#getDefaultNamedXContents()} by
8386
* {@literal Elasticsearch} (<a href="https://www.elastic.co">https://www.elastic.co</a>) licensed under the Apache
84-
* License, Version 2.0.
87+
* License, Version 2.0. The latest version used from Elasticsearch is 7.10.2.
8588
* </p>
8689
* Modified for usage with {@link ReactiveElasticsearchClient}.
8790
* <p>
@@ -126,9 +129,13 @@ public static List<NamedXContentRegistry.Entry> getDefaultNamedXContents() {
126129
map.put(HistogramAggregationBuilder.NAME, (p, c) -> ParsedHistogram.fromXContent(p, (String) c));
127130
map.put(DateHistogramAggregationBuilder.NAME, (p, c) -> ParsedDateHistogram.fromXContent(p, (String) c));
128131
map.put(AutoDateHistogramAggregationBuilder.NAME, (p, c) -> ParsedAutoDateHistogram.fromXContent(p, (String) c));
132+
map.put(VariableWidthHistogramAggregationBuilder.NAME,
133+
(p, c) -> ParsedVariableWidthHistogram.fromXContent(p, (String) c));
129134
map.put(StringTerms.NAME, (p, c) -> ParsedStringTerms.fromXContent(p, (String) c));
130135
map.put(LongTerms.NAME, (p, c) -> ParsedLongTerms.fromXContent(p, (String) c));
131136
map.put(DoubleTerms.NAME, (p, c) -> ParsedDoubleTerms.fromXContent(p, (String) c));
137+
map.put(LongRareTerms.NAME, (p, c) -> ParsedLongRareTerms.fromXContent(p, (String) c));
138+
map.put(StringRareTerms.NAME, (p, c) -> ParsedStringRareTerms.fromXContent(p, (String) c));
132139
map.put(MissingAggregationBuilder.NAME, (p, c) -> ParsedMissing.fromXContent(p, (String) c));
133140
map.put(NestedAggregationBuilder.NAME, (p, c) -> ParsedNested.fromXContent(p, (String) c));
134141
map.put(ReverseNestedAggregationBuilder.NAME, (p, c) -> ParsedReverseNested.fromXContent(p, (String) c));
@@ -142,10 +149,15 @@ public static List<NamedXContentRegistry.Entry> getDefaultNamedXContents() {
142149
map.put(GeoDistanceAggregationBuilder.NAME, (p, c) -> ParsedGeoDistance.fromXContent(p, (String) c));
143150
map.put(FiltersAggregationBuilder.NAME, (p, c) -> ParsedFilters.fromXContent(p, (String) c));
144151
map.put(AdjacencyMatrixAggregationBuilder.NAME, (p, c) -> ParsedAdjacencyMatrix.fromXContent(p, (String) c));
152+
map.put(SignificantLongTerms.NAME, (p, c) -> ParsedSignificantLongTerms.fromXContent(p, (String) c));
153+
map.put(SignificantStringTerms.NAME, (p, c) -> ParsedSignificantStringTerms.fromXContent(p, (String) c));
145154
map.put(ScriptedMetricAggregationBuilder.NAME, (p, c) -> ParsedScriptedMetric.fromXContent(p, (String) c));
146155
map.put(IpRangeAggregationBuilder.NAME, (p, c) -> ParsedBinaryRange.fromXContent(p, (String) c));
147156
map.put(TopHitsAggregationBuilder.NAME, (p, c) -> ParsedTopHits.fromXContent(p, (String) c));
148157
map.put(CompositeAggregationBuilder.NAME, (p, c) -> ParsedComposite.fromXContent(p, (String) c));
158+
map.put(StringStatsAggregationBuilder.NAME, (p, c) -> ParsedStringStats.PARSER.parse(p, (String) c));
159+
map.put(TopMetricsAggregationBuilder.NAME, (p, c) -> ParsedTopMetrics.PARSER.parse(p, (String) c));
160+
map.put(InferencePipelineAggregationBuilder.NAME, (p, c) -> ParsedInference.fromXContent(p, (String) (c)));
149161
List<NamedXContentRegistry.Entry> entries = map.entrySet().stream().map(
150162
entry -> new NamedXContentRegistry.Entry(Aggregation.class, new ParseField(entry.getKey()), entry.getValue()))
151163
.collect(Collectors.toList());

0 commit comments

Comments
 (0)