An implementation of the reactive API Subscriber.
An implementation of this typeclass must provide a bulk compatible request for the given instance of T.
An implementation of this typeclass must provide a bulk compatible request for the given instance of T. The bulk compatible request will then be sent to elastic.
A bulk compatible request can be either an index, update, or delete.
the type of elements this builder supports
Notified on each acknowledgement
An implementation of the reactive API Publisher, that publishes documents using an elasticsearch scroll cursor.
An implementation of the reactive API Publisher, that publishes documents using an elasticsearch scroll cursor. The initial query must be provided to the publisher, and there are helpers to create a query for all documents in an index (and type).
the number of elements to group together per batch aside from the last batch
the number of concurrent batch operations
if the index should be refreshed after each bulk operation
a listener which is notified on each acknowledge batch item
a function which is invoked when all sent requests have been acknowledged and the publisher has completed Note: this function is executed regardless of whether there was an error or not, that is, this function is always invoked regardless of the state
a function will is only invoked when all operations have completed successfully
a function which is invoked after there is an error
the timeout before re-trying failed requests. Usually a failed request is elasticsearch's way of indicating backpressure, so this parameter determines how long to wait between requests.
the max number of times to try a request. If it fails too many times it probably isn't back pressure but an error with the document.
used to schedule periodic bulk indexing. This can be set to avoid waiting for a complete batch for a long period of time. It also is used if the publisher will never complete. This ensures that all elements are indexed, even if the last batch size is lower than batch size.
used to schedule an index if no document has been received within the given duration. Once an index is performed (either by this flush value or because docs arrived in time) the flush after schedule is reset.
An implementation of the reactive API Subscriber. This subscriber will bulk index received elements. The bulk nature means that the elasticsearch index operations are performed as a bulk call, the size of which are controlled by the batchSize param.
The received elements must be converted into an elastic4s bulk compatible definition, such as index or delete. This is done by the RequestBuilder.
the type of element provided by the publisher this subscriber will subscribe with