NEST by Elastic and contributors

<PackageReference Include="NEST" Version="7.0.0-alpha2" />

.NET API 4,185,088 bytes

 BulkAllRequest<T>

public class BulkAllRequest<T> : IBulkAllRequest<T>
public 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

public 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

public Action<BulkDescriptor, IList<T>> BufferToBulk { get; set; }

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.

public 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

public 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.

public IndexName Index { get; set; }

Default index for items which don't provide one

public int? MaxDegreeOfParallelism { get; set; }

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

public string Pipeline { get; set; }

The pipeline id to preprocess all the incoming documents with

public Indices RefreshIndices { get; set; }

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

public bool RefreshOnCompleted { get; set; }

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

public Func<BulkResponseItemBase, T, bool> RetryDocumentPredicate { get; set; }

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

public Routing Routing { get; set; }

Specific per bulk operation routing value

public int? Size { get; set; }

The number of documents to send per bulk

public Time Timeout { get; set; }

Explicit per operation timeout

public 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)

public BulkAllRequest(IEnumerable<T> documents)