SearchClientBuilder.SearchIndexingBufferedSenderBuilder<T> Class

  • java.lang.Object
    • com.azure.search.documents.SearchClientBuilder.SearchIndexingBufferedSenderBuilder<T>

Type Parameters

T

The type of the document that the buffered sender will use.

public final class SearchClientBuilder.SearchIndexingBufferedSenderBuilder

This class provides a fluent builder API to help aid the configuration and instantiation of SearchIndexingBufferedSender<T> and SearchIndexingBufferedAsyncSender<T>. Call buildSender() and buildAsyncSender() respectively to construct an instance of the desired sender.

Method Summary

Modifier and Type Method and Description
SearchIndexingBufferedSenderBuilder<T> autoFlush(boolean autoFlush)

Sets the flag determining whether a buffered sender will automatically flush its document batch based on the configurations of autoFlushInterval(Duration autoFlushInterval) and initialBatchActionCount(int initialBatchActionCount).

SearchIndexingBufferedSenderBuilder<T> autoFlushInterval(Duration autoFlushInterval)

Sets the duration between a buffered sender sending documents to be indexed.

SearchIndexingBufferedAsyncSender<T> buildAsyncSender()

Creates a SearchIndexingBufferedAsyncSender<T> based on options set in the builder.

SearchIndexingBufferedSender<T> buildSender()

Creates a SearchIndexingBufferedSender<T> based on options set in the builder.

SearchIndexingBufferedSenderBuilder<T> documentKeyRetriever(Function<T,String> documentKeyRetriever)

Sets the function that retrieves the key value from a document.

SearchIndexingBufferedSenderBuilder<T> initialBatchActionCount(int initialBatchActionCount)

Sets the number of documents before a buffered sender will send the batch to be indexed.

SearchIndexingBufferedSenderBuilder<T> maxRetriesPerAction(int maxRetriesPerAction)

Sets the number of times an action will retry indexing before it is considered failed.

SearchIndexingBufferedSenderBuilder<T> maxThrottlingDelay(Duration maxThrottlingDelay)

Sets the maximum duration that requests will be delayed when the service is throttling.

SearchIndexingBufferedSenderBuilder<T> onActionAdded(Consumer<OnActionAddedOptions<T>> onActionAddedConsumer)

Callback hook for when a document indexing action has been added to a batch queued.

SearchIndexingBufferedSenderBuilder<T> onActionError(Consumer<OnActionErrorOptions<T>> onActionErrorConsumer)

Sets the callback hook for when a document indexing action has failed to index and isn't retryable.

SearchIndexingBufferedSenderBuilder<T> onActionSent(Consumer<OnActionSentOptions<T>> onActionSentConsumer)

Sets the callback hook for when a document indexing has been sent in a batching request.

SearchIndexingBufferedSenderBuilder<T> onActionSucceeded(Consumer<OnActionSucceededOptions<T>> onActionSucceededConsumer)

Sets the callback hook for when a document indexing action has successfully completed indexing.

SearchIndexingBufferedSenderBuilder<T> throttlingDelay(Duration throttlingDelay)

Sets the initial duration that requests will be delayed when the service is throttling.

Methods inherited from java.lang.Object

Method Details

autoFlush

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder autoFlush(boolean autoFlush)

Sets the flag determining whether a buffered sender will automatically flush its document batch based on the configurations of autoFlushInterval(Duration autoFlushInterval) and initialBatchActionCount(int initialBatchActionCount).

Parameters:

autoFlush - Flag determining whether a buffered sender will automatically flush.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

autoFlushInterval

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder autoFlushInterval(Duration autoFlushInterval)

Sets the duration between a buffered sender sending documents to be indexed.

The buffered sender will reset the duration when documents are sent for indexing, either by reaching initialBatchActionCount(int initialBatchActionCount) or by a manual trigger.

If autoFlushInterval is negative or zero and autoFlush(boolean autoFlush) is enabled the buffered sender will only flush when initialBatchActionCount(int initialBatchActionCount) is met.

Parameters:

autoFlushInterval - Duration between document batches being sent for indexing.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

buildAsyncSender

public SearchIndexingBufferedAsyncSender buildAsyncSender()

Creates a SearchIndexingBufferedAsyncSender<T> based on options set in the builder. Every time this is called a new instance of SearchIndexingBufferedAsyncSender<T> is created.

Returns:

A SearchIndexingBufferedAsyncSender with the options set from the builder.

buildSender

public SearchIndexingBufferedSender buildSender()

Creates a SearchIndexingBufferedSender<T> based on options set in the builder. Every time this is called a new instance of SearchIndexingBufferedSender<T> is created.

Returns:

A SearchIndexingBufferedSender with the options set from the builder.

documentKeyRetriever

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder documentKeyRetriever(Function documentKeyRetriever)

Sets the function that retrieves the key value from a document.

Parameters:

documentKeyRetriever - Function that retrieves the key from an IndexAction<T>.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

initialBatchActionCount

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder initialBatchActionCount(int initialBatchActionCount)

Sets the number of documents before a buffered sender will send the batch to be indexed.

This will only trigger a batch to be sent automatically if #autoFlushInterval is configured. Default value is 512.

Parameters:

initialBatchActionCount - The number of documents in a batch that will trigger it to be indexed.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

maxRetriesPerAction

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder maxRetriesPerAction(int maxRetriesPerAction)

Sets the number of times an action will retry indexing before it is considered failed.

Documents are only retried on retryable status codes.

Default value is 3.

Parameters:

maxRetriesPerAction - The number of times a document will retry indexing before it is considered failed.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

maxThrottlingDelay

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder maxThrottlingDelay(Duration maxThrottlingDelay)

Sets the maximum duration that requests will be delayed when the service is throttling.

If maxThrottlingDelay is less than throttlingDelay(Duration throttlingDelay) then throttlingDelay(Duration throttlingDelay) will be used as the maximum delay.

Default value is Duration.ofMinutes(1).

Parameters:

maxThrottlingDelay - The maximum duration requests will delay when the service is throttling.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

onActionAdded

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder onActionAdded(Consumer> onActionAddedConsumer)

Callback hook for when a document indexing action has been added to a batch queued.

Parameters:

onActionAddedConsumer - The Consumer that is called when a document has been added to a batch queue.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

onActionError

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder onActionError(Consumer> onActionErrorConsumer)

Sets the callback hook for when a document indexing action has failed to index and isn't retryable.

Parameters:

onActionErrorConsumer - The Consumer that is called when a document has failed to index and isn't retryable.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

onActionSent

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder onActionSent(Consumer> onActionSentConsumer)

Sets the callback hook for when a document indexing has been sent in a batching request.

Parameters:

onActionSentConsumer - The Consumer that is called when a document has been sent in a batch request.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

onActionSucceeded

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder onActionSucceeded(Consumer> onActionSucceededConsumer)

Sets the callback hook for when a document indexing action has successfully completed indexing.

Parameters:

onActionSucceededConsumer - The Consumer that is called when a document has been successfully indexing.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

throttlingDelay

public SearchClientBuilder.SearchIndexingBufferedSenderBuilder throttlingDelay(Duration throttlingDelay)

Sets the initial duration that requests will be delayed when the service is throttling.

Default value is Duration.ofMillis(800).

Parameters:

throttlingDelay - The initial duration requests will delay when the service is throttling.

Returns:

The updated SearchIndexingBufferedSenderBuilder object.

Applies to