class_docstr: Flink Sink to insert or update data in an Elasticsearch index. The sink supports the following
  delivery guarantees.
  
  DeliveryGuarantee.NONE does not provide any guarantees: actions are flushed to Elasticsearch
  only depending on the configurations of the bulk processor. In case of a failure, it might
  happen that actions are lost if the bulk processor still has buffered actions.
  
  DeliveryGuarantee.AT_LEAST_ONCE on a checkpoint the sink will wait until all buffered actions
  are flushed to and acknowledged by Elasticsearch. No actions will be lost but actions might be
  sent to Elasticsearch multiple times when Flink restarts. These additional requests may cause
  inconsistent data in ElasticSearch right after the restart, but eventually everything will be
  consistent again.
class_docstr_tok: ["Flink","Sink","to","insert","or","update","data","in","an","Elasticsearch","index",".","The","sink","supports","the","following","delivery","guarantees",".","DeliveryGuarantee.NONE","does","not","provide","any","guarantees",":","actions","are","flushed","to","Elasticsearch","only","depending","on","the","configurations","of","the","bulk","processor",".","In","case","of","a","failure",",","it","might","happen","that","actions","are","lost","if","the","bulk","processor","still","has","buffered","actions",".","DeliveryGuarantee.AT_LEAST_ONCE","on","a","checkpoint","the","sink","will","wait","until","all","buffered","actions","are","flushed","to","and","acknowledged","by","Elasticsearch",".","No","actions","will","be","lost","but","actions","might","be","sent","to","Elasticsearch","multiple","times","when","Flink","restarts",".","These","additional","requests","may","cause","inconsistent","data","in","ElasticSearch","right","after","the","restart",",","but","eventually","everything","will","be","consistent","again","."]
code: def __init__(self, j_elasticsearch_sink):
      super(ElasticsearchSink, self).__init__(sink=j_elasticsearch_sink)
  
imports: import abc
  from enum import Enum
  from typing import List, Union
  from pyflink.datastream.connectors import Sink, DeliveryGuarantee
  from pyflink.java_gateway import get_gateway
  from pyflink.util.java_utils import to_jarray
label_desc: Use image node_id 1 to create a new ElasticsearchSink object from inherited base classes: Sink with example: obj = ElasticsearchSink(j_elasticsearch_sink)