NEST by Elastic and contributors

<PackageReference Include="NEST" Version="7.5.0" />

.NET API 4,381,696 bytes

 IBulkAllRequest<T>

public interface IBulkAllRequest<T>
int? BackOffRetries { get; set; }

In case of a HTTP 429 (Too Many Requests) response status code, how many times should we automatically back off before failing

Time BackOffTime { get; set; }

In case of a HTTP 429 (Too Many Requests) response status code, how long should we wait before retrying

Simple back pressure implementation that makes sure the minimum max concurrency between producer and consumer is not amplified by the greedier of the two by more then a given back pressure factor When set each bulk request will call Release

By default, BulkAllObservable<T> calls IndexMany<T> on the buffer. There might be case where you'd like more control over the bulk operation. By setting this callback, you are in complete control of describing how the buffer should be translated to a bulk operation.

Be notified every time a bulk response returns, this includes retries. OnNext is only called for successful batches.

bool ContinueAfterDroppedDocuments { get; set; }

Halt the bulk all request if any of the documents returned is a failure that can not be retried. When true, will feed dropped documents to DroppedDocumentCallback

IEnumerable<T> Documents { get; }

The documents to send to Elasticsearch, ideally lazily evaluated by using yield return to provide each document. BulkAllObservable<T> will eager evaluate each partitioned page when operating on it, using ToList<T>.

If a bulk operation fails because it receives documents it can not retry they will be fed to this callback. If ContinueAfterDroppedDocuments is set to true processing will continue, so this callback can be used to feed into a dead letter queue. Otherwise bulk all indexing will be halted.

IndexName Index { get; set; }

The index to use for items that don't specify one. By default, will be inferred from T. If no default index has been mapped for T using DefaultMappingFor<T> on ConnectionSettings, an exception will be thrown.

int? MaxDegreeOfParallelism { get; set; }

The maximum number of bulk operations we want to have in flight at a time

string Pipeline { get; set; }

The pipeline id to preprocess all the incoming documents with

Indices RefreshIndices { get; set; }

The indices you wish to refresh after the bulk all completes, defaults to Index

bool RefreshOnCompleted { get; set; }

Refresh the index after performing ALL the bulk operations (NOTE this is an additional request)

A predicate to control which documents should be retried. Defaults to failed bulk items with a HTTP 429 (Too Many Requests) response status code.

Routing Routing { get; set; }

Specific per bulk operation routing value

int? Size { get; set; }

The number of documents to send per bulk

Time Timeout { get; set; }

Explicit per operation timeout

int? WaitForActiveShards { get; set; }

Sets the number of shard copies that must be active before proceeding with the bulk operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)