-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Releases: elastic/elasticsearch-net
9.1.11
9d58555
What's Changed
- Allow modification of
RequestConfiguration
forBulkRequest
by @flobernd in #8741 - Fix floating point serialization for NETFRAMEWORK builds by @flobernd in #8742
- Add implicit conversion operators for handcrafted descriptors by @flobernd in #8743
- Regenerate client by @flobernd in #8755
- Allow keyed buckets for
FiltersAggregation
andApiFiltersAggregation
- Allow keyed buckets for
Full Changelog: 9.1.10...9.1.11
Assets 2
8.19.10
325748b
What's Changed
- Allow modification of
RequestConfiguration
forBulkRequest
by @flobernd in #8741 - Fix floating point serialization for NETFRAMEWORK builds by @flobernd in #8742
- Add implicit conversion operators for handcrafted descriptors by @flobernd in #8743
- Regenerate client by @flobernd in #8755
- Allow keyed buckets for
FiltersAggregation
andApiFiltersAggregation
- Allow keyed buckets for
Full Changelog: 8.19.9...8.19.10
Assets 2
9.1.10
bb47ea7
What's Changed
Full Changelog: 9.1.9...9.1.10
Assets 2
8.19.9
33f13f4
What's Changed
Full Changelog: 8.19.8...8.19.9
Assets 2
9.1.9
03f92c0
What's Changed
- Switch to custom
SafeSkip()
method that works with partial JSON blocks by @flobernd in #8720- Improves compatibility in certain streaming scenarios
Full Changelog: 9.1.8...9.1.9
Assets 2
8.19.8
c5bea54
What's Changed
- Switch to custom
SafeSkip()
method that works with partial JSON blocks by @flobernd in #8720- Improves compatibility in certain streaming scenarios
Full Changelog: 8.19.7...8.19.8
Assets 2
9.1.8
81cebf5
What's Changed
- Regenerate client by @flobernd in #8707
- Regenerate client by @flobernd in #8711
- Improves usability of
CompositeAggregation
(see #8704)
- Improves usability of
Breaking Changes
The type of the Sources
property has been changed from ICollection<IDictionary<string, CompositeAggregationSource>>
to ICollection<KeyValuePair<string, CompositeAggregationSource>>
. This corresponds to the Elasticsearch standard for modeling ordered dictionaries in the REST API.
CompositeAggregationSource
is now also a container (similar to Aggregation
, Query
, etc.). This change improves usability due to specialized code generation. For example, implicit conversion operators from all existing variants (CompositeTermsAggregation
, CompositeHistogramAggregation
, etc.) to CompositeAggregationSource
are now generated.
As a consequence, the object initializer syntax changes as follows:
// 9.1.7 and below var request = new SearchRequest { Aggregations = new Dictionary<string, Aggregation> { { "my_composite", new CompositeAggregation { Sources = [ new Dictionary<string, CompositeAggregationSource> { { "my_terms", new CompositeAggregationSource { Terms = new CompositeTermsAggregation { // ... } }} }, new Dictionary<string, CompositeAggregationSource> { { "my_histo", new CompositeAggregationSource { Histogram = new CompositeHistogramAggregation(0.5) { // ... } }} } ] }} } }; // 9.1.8 and above var request = new SearchRequest { Aggregations = new Dictionary<string, Aggregation> { { "my_composite", new CompositeAggregation { Sources = [ new KeyValuePair<string, CompositeAggregationSource>( "my_terms", // Implicit conversion from `CompositeTermsAggregation` to `CompositeAggregationSource`. new CompositeTermsAggregation { // ... } ), new KeyValuePair<string, CompositeAggregationSource>( "my_histo", // Implicit conversion from `CompositeHistogramAggregation` to `CompositeAggregationSource`. new CompositeHistogramAggregation(0.5) <2> { // ... } ) ] }} } };
In addition, this change allows optimized Fluent syntax to be generated, which ultimately avoids a previously existing ambiguity:
// 9.1.7 and below var descriptor = new SearchRequestDescriptor() .Aggregations(aggs => aggs .Add("my_composize", agg => agg .Composite(composite => composite // This is the `params` overload that initializes the `Sources` collection with multiple entries. .Sources( // Add dictionary item 1 that contains a single `Terms` aggregation entry. x => x.Add("my_terms", x => x.Terms(/* ... */)), // Add dictionary item 2 that contains a single `Histogram` aggregation entry. x => x.Add("my_histo", x => x.Histogram(/* ... */)) <3> ) ) ) ); // 9.1.8 and above var descriptor = new SearchRequestDescriptor() .Aggregations(aggs => aggs .Add("my_composize", agg => agg .Composite(composite => composite .Sources(sources => sources .Add("my_terms", x => x.Terms(/* ... */)) .Add("my_histo", x => x.Histogram(/* ... */)) ) ) ) );
The old syntax was tricky because the 9.1.8 example also compiled successfully, but the .Add
referred to the first dictionary both times. This ultimately resulted in a list with only one dictionary, which had multiple entries, and thus an invalid request.
Full Changelog: 9.1.7...9.1.8
Assets 2
8.19.7
59f8977
What's Changed
- Regenerate client by @flobernd in #8706
- Regenerate client by @flobernd in #8710
- Improves usability of
CompositeAggregation
(see #8704)
- Improves usability of
- Regenerate client by @flobernd in #8715
- Fixes (de-)serialization of
TermQuery
(see #8713)
- Fixes (de-)serialization of
Breaking Changes
See https://github.com/elastic/elasticsearch-net/releases/tag/9.1.8.
Full Changelog: 8.19.6...8.19.7
Assets 2
9.1.7
40ce798
What's Changed
- BulkResponseItemConverter: Continue after skipping unmapped json member by @MindaugasButkus in #8698
New Contributors
- @MindaugasButkus made their first contribution in #8698
Full Changelog: 9.1.6...9.1.7
Assets 2
8.19.6
7da1703
What's Changed
- BulkResponseItemConverter: Continue after skipping unmapped json member by @MindaugasButkus in #8698
New Contributors
- @MindaugasButkus made their first contribution in #8698
Full Changelog: 8.19.5...8.19.6