T
- The type of the element handled by this ElasticsearchEmitter
@PublicEvolving public interface ElasticsearchEmitter<T> extends Function
ActionRequests
from the incoming elements.
This is used by sinks to prepare elements for sending them to Elasticsearch.
Example:
private static class TestElasticsearchEmitter implements ElasticsearchEmitter<Tuple2<Integer, String>> {
public IndexRequest createIndexRequest(Tuple2<Integer, String> element) {
Map<String, Object> document = new HashMap<>();
document.put("data", element.f1);
return Requests.indexRequest()
.index("my-index")
.type("my-type")
.id(element.f0.toString())
.source(document);
}
public void emit(Tuple2<Integer, String> element, RequestIndexer indexer) {
indexer.add(createIndexRequest(element));
}
}
Modifier and Type | Method and Description |
---|---|
default void |
close()
Tear-down method for the function.
|
void |
emit(T element,
SinkWriter.Context context,
RequestIndexer indexer)
Process the incoming element to produce multiple
ActionRequests . |
default void |
open()
Initialization method for the function.
|
default void open() throws Exception
Exception
default void close() throws Exception
Exception
void emit(T element, SinkWriter.Context context, RequestIndexer indexer)
ActionRequests
. The
produced requests should be added to the provided RequestIndexer
.element
- incoming element to processcontext
- to access additional information about the recordindexer
- request indexer that ActionRequest
should be added toCopyright © 2014–2024 The Apache Software Foundation. All rights reserved.