Behavioural Breaking Change
- #2367 404s on
Get<T>()
andDelete<T>()
(and async variants) now return.IsValid
astrue
and deserialize the response, setting.Found
. This aligns the behaviour of 2.x with 1.x and 5.x. The implications of this are:
- when issuing a delete, if the delete actually deletes a document or the document to delete does not exist,
.IsValid
istrue
- when issuing a get where
.IsValid
is true,.Found
should also be checked to determine if the document existed
Features
BulkAll
is designed to parallelize bulk requests to Elasticsearch by iterating a lazily constructed collection of POCO types and partitioning into multiple concurrent bulk requests. It includes simple logic for automatic backoff of requests when documents failed to be indexed due to HTTP 429 response errors and retrying in a configurable number of times in such cases.
Enhancements
- #2371 / #2323 Include the nested identity when performing
inner_hits
on anested
type - #2370 Infer the index name and type name from
T
withSuggest<T>()
- #2309 / #2310 When a
ReindexOnServerResponse
comes back as 400 status code, deserialize the response so that Failures is populated with more details for why things failed.
Bug Fixes
- #2362 Add
max_boundary_scan
to highlight fields - #2373 Fix script serialization when performing bulk updates
- #2357 Correct Script serialization on bulk update operation
- #2331 Fix
SuffixExpressionVisitor
to allow multiple calls of.AppendSuffix()
- #2319 / #2321 Fix issue where field expressions were incorrectly cached when a dynamic value and a suffix expression were used
- #2308 the
Took
field was incorrectly mapped as anint
value on some responses, instead oflong
. Since the type cannot be changed (it would break binary compatibility), another field has been introduced,TookAsLong
, that will hold the value returned from Elasticsearch;Took
will also contain the value and for values greater thanint
,Took
will beint.MaxValue
.Took
is marked withObsolete
attribute to highlight this to client consumers andTook
is mapped aslong
in NEST 5.x. thanks @maeserichar 👍
Deprecations and Removals
- #2346 Mark properties removed in 5.0 with
ObsoleteAttribute
- #2297 Mark
MissingQuery
withObsoleteAttribute
as removed in 5.0 - #2293 Mark
IndexName
on property mappings withObsoleteAttribute
as removed in 5.0