org.apache.flume.sink.elasticsearch.client

## Class ElasticSearchRestClient

- java.lang.Object
- - org.apache.flume.sink.elasticsearch.client.ElasticSearchRestClient

- All Implemented Interfaces:
    Configurable, ElasticSearchClient

      public class ElasticSearchRestClient
      extends Object
      implements ElasticSearchClient

  Rest ElasticSearch client which is responsible for sending bulks of events to ElasticSearch using ElasticSearch HTTP API. This is configurable, so any config params required should be taken through this.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ElasticSearchRestClient(String[] hostNames, ElasticSearchEventSerializer serializer)`
    `ElasticSearchRestClient(String[] hostNames, ElasticSearchEventSerializer serializer, org.apache.http.client.HttpClient client)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addEvent(Event event, IndexNameBuilder indexNameBuilder, String indexType, long ttlMs)` Add new event to the bulk
    `void` | `close()` Close connection to elastic search in client
    `void` | `configure(Context context)` Request the implementing class to (re)configure itself.
    `void` | `execute()` Sends bulk to the elasticsearch cluster

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ElasticSearchRestClient

          public ElasticSearchRestClient(String[] hostNames,
                                 ElasticSearchEventSerializer serializer)

    - #### ElasticSearchRestClient

          public ElasticSearchRestClient(String[] hostNames,
                                 ElasticSearchEventSerializer serializer,
                                 org.apache.http.client.HttpClient client)

  - ### Method Detail

    - #### configure

          public void configure(Context context)

      Description copied from interface: `Configurable`

      Request the implementing class to (re)configure itself.

      When configuration parameters are changed, they must be reflected by the component asap.

      There are no thread safety guarantees on when configure might be called.

      Specified by:
        `configure` in interface `Configurable`

    - #### close

          public void close()

      Description copied from interface: `ElasticSearchClient`
      Close connection to elastic search in client
      Specified by:
        `close` in interface `ElasticSearchClient`

    - #### addEvent

          public void addEvent(Event event,
                      IndexNameBuilder indexNameBuilder,
                      String indexType,
                      long ttlMs)
                        throws Exception

      Description copied from interface: `ElasticSearchClient`
      Add new event to the bulk
      Specified by:
        `addEvent` in interface `ElasticSearchClient`
      Parameters:
        `event` - Flume Event
        `indexNameBuilder` - Index name builder which generates name of index to feed
        `indexType` - Name of type of document which will be sent to the elasticsearch cluster
        `ttlMs` - Time to live expressed in milliseconds. Value <= 0 is ignored
      Throws:
        `Exception`

    - #### execute

          public void execute()
                       throws Exception

      Description copied from interface: `ElasticSearchClient`
      Sends bulk to the elasticsearch cluster
      Specified by:
        `execute` in interface `ElasticSearchClient`
      Throws:
        `Exception`

Copyright © 2009-2016 Apache Software Foundation. All Rights Reserved.