Class BulkAllRequest<T>
Inheritance
BulkAllRequest<T>
Namespace: OpenSearch.Client
Assembly: OpenSearch.Client.dll
Syntax
public class BulkAllRequest<T> : IBulkAllRequest<T> where T : class
Type Parameters
Constructors
|
Edit this page
View Source
BulkAllRequest(IEnumerable<T>)
Declaration
public BulkAllRequest(IEnumerable<T> documents)
Parameters
Properties
|
Edit this page
View Source
BackOffRetries
In case of a HTTP 429 (Too Many Requests) response status code, how many times should we automatically back off before failing
Declaration
public int? BackOffRetries { get; set; }
Property Value
|
Edit this page
View Source
BackOffTime
In case of a HTTP 429 (Too Many Requests) response status code, how long should we wait before retrying
Declaration
public Time BackOffTime { get; set; }
Property Value
|
Edit this page
View Source
BackPressure
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()
Declaration
public ProducerConsumerBackPressure BackPressure { get; set; }
Property Value
|
Edit this page
View Source
BufferToBulk
Declaration
public Action<BulkDescriptor, IList<T>> BufferToBulk { get; set; }
Property Value
|
Edit this page
View Source
BulkResponseCallback
Be notified every time a bulk response returns, this includes retries.
OnNext(T) is only called for successful batches.
Declaration
public Action<BulkResponse> BulkResponseCallback { get; set; }
Property Value
|
Edit this page
View Source
ContinueAfterDroppedDocuments
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
Declaration
public bool ContinueAfterDroppedDocuments { get; set; }
Property Value
|
Edit this page
View Source
DocumentAffinityKey
Optional per-document affinity key. When set, documents sharing a key are routed to the same worker and that
worker dispatches its batches strictly in order with at most one batch in flight, preserving on-the-wire
ordering for operations that share a key. A slow or retrying worker holds up only its own key, not the
others. When null (the default) batches are dispatched round-robin with no ordering guarantee.
Declaration
public Func<T, string> DocumentAffinityKey { get; set; }
Property Value
|
Edit this page
View Source
DocumentId
Optional function that computes the _id of each document from the document itself, applied to the
default bulk operation. When set, each document is indexed with Id(DocumentId(document)) instead of
relying on id inference. The function can return any string — a single field, or a value computed from the
document (for example d => $"{d.Region}-{d.Key}").
This is ignored when BufferToBulk is set: BufferToBulk gives you complete
control over how the buffer is translated to a bulk operation, so you are responsible for setting the id
yourself in that callback.
Declaration
public Func<T, string> DocumentId { get; set; }
Property Value
|
Edit this page
View Source
Documents
Declaration
public IEnumerable<T> Documents { get; }
Property Value
|
Edit this page
View Source
DroppedDocumentCallback
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.
Declaration
public Action<BulkResponseItemBase, T> DroppedDocumentCallback { get; set; }
Property Value
|
Edit this page
View Source
Index
Declaration
public IndexName Index { get; set; }
Property Value
|
Edit this page
View Source
MaxDegreeOfParallelism
The maximum number of bulk operations we want to have in flight at a time
Declaration
public int? MaxDegreeOfParallelism { get; set; }
Property Value
|
Edit this page
View Source
Pipeline
The pipeline id to preprocess all the incoming documents with
Declaration
public string Pipeline { get; set; }
Property Value
|
Edit this page
View Source
RefreshIndices
The indices you wish to refresh after the bulk all completes, defaults to Index
Declaration
public Indices RefreshIndices { get; set; }
Property Value
|
Edit this page
View Source
RefreshOnCompleted
Refresh the index after performing ALL the bulk operations (NOTE this is an additional request)
Declaration
public bool RefreshOnCompleted { get; set; }
Property Value
|
Edit this page
View Source
RetryBaseDelay
When set, retries use exponential backoff with jitter starting from this base delay (doubling per attempt,
randomized, capped by RetryMaxDelay) instead of the fixed BackOffTime.
Declaration
public TimeSpan? RetryBaseDelay { get; set; }
Property Value
|
Edit this page
View Source
RetryDocumentPredicate
A predicate to control which documents should be retried.
Defaults to failed bulk items with a HTTP 429 (Too Many Requests) response status code.
Declaration
public Func<BulkResponseItemBase, T, bool> RetryDocumentPredicate { get; set; }
Property Value
|
Edit this page
View Source
RetryMaxDelay
Declaration
public TimeSpan? RetryMaxDelay { get; set; }
Property Value
|
Edit this page
View Source
Routing
Specific per bulk operation routing value
Declaration
public Routing Routing { get; set; }
Property Value
|
Edit this page
View Source
Size
The number of documents to send per bulk
Declaration
public int? Size { get; set; }
Property Value
|
Edit this page
View Source
Timeout
Explicit per operation timeout
Declaration
public Time Timeout { get; set; }
Property Value
|
Edit this page
View Source
WaitForActiveShards
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)
Declaration
public int? WaitForActiveShards { get; set; }
Property Value
Implements
Extension Methods