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
IndexName
andTypeName
types 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 theIObservable
s 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 abackPressureFactor
which controls the max amplification factor of running scrolls with the safe guard of:
searchSize * maxConcurrency * backPressureFactor >= bulkSize
-
#2451 Small Performance improvements
Introduce a
BufferSize
property onJsonNetSerializer
with 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
Attachment
type from_source
or field data - #2464 Add the
StringEnumConverter
toStringFielddataFormat
to always serialize as string. Introduce coding standard unit test to assert the converter is applied to all NEST enums - #2468 Favour
publish_address
when sniffing cluster state - #2467 Fix the virality of
&=
in thebool
query DSL
Misc
- #2456 Tidy up TODOs and #2460 make the usage of
NotSupportedException
consistent across all internalJsonConverter
types. - #2470 Add test collection filtering when running tests from the command line.