5.0.0
GA release of NEST and Elasticsearch.Net 5.0 🎉
A huge thank you to the community who kicked the tires on the 5.0 prereleases that we've been putting out since April and provided us with invaluable feedback 🖖
Check out the blog post on the NEST 5.0 release that highlights some of the main features as well as take a look at the 2.x -> 5.x Breaking Changes for NEST and Breaking Changes for Elasticsearch.Net.
Features
- #2454 Add Support for
CreateRequest<T>. This can be used to create a document of a given type in a given index with a given id, with optimistic concurrency control. See https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html#operation-type for more details - #2443 Add
ScrollAll()helper method
Enhancements
-
#2473 Limit the number of concurrent connections on .NET Core, similar to Desktop CLR.
-
#2457 Use
IndexNameandTypeNametypes for Bulk*Many requests -
#2459 Add type to set index auto expand replica setting
-
#2450 Add metadata for Security roles
-
#2462
ReindexAll()improvementsReindexAll()is now composed over theIObservables fromScrollAll()andBulkAll(), taking advantage of the concurrency models in each.Since the rate at which the scrolls produces far exceeds the rate at which we can consume them through bulks
ReindexAll()also implements a producer/consumer rate limiter. This is controlled by abackPressureFactorwhich controls the max amplification factor of running scrolls with the safe guard of:
searchSize * maxConcurrency * backPressureFactor >= bulkSize
-
#2451 Small Performance improvements
Introduce a
BufferSizeproperty onJsonNetSerializerwith a default size of 1024 to use when writing json to the request stream. Performance tests as part of #1899 indicate this to be a good compromise buffer size for performance throughput and bytes allocated. -
#2480 Allow target document type to be different from source document type when performing reindex
Bug fixes
- #2479 Deserialize
"value_as_string"for metric aggregations that return it - #2466 Deserialize attachment title when deserializing an
Attachmenttype from_sourceor field data - #2464 Add the
StringEnumConvertertoStringFielddataFormatto always serialize as string. Introduce coding standard unit test to assert the converter is applied to all NEST enums - #2468 Favour
publish_addresswhen sniffing cluster state - #2467 Fix the virality of
&=in theboolquery DSL
Misc
- #2456 Tidy up TODOs and #2460 make the usage of
NotSupportedExceptionconsistent across all internalJsonConvertertypes. - #2470 Add test collection filtering when running tests from the command line.