Class ElasticsearchConfiguration

java.lang.Object
org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport
org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration

public abstract class ElasticsearchConfiguration extends ElasticsearchConfigurationSupport
Base class for a @Configuration class to set up the Elasticsearch connection using the Elasticsearch Client. This class exposes different parts of the setup as Spring beans. Deriving classes must provide the ClientConfiguration to use.
Since:
4.4
Author:
Peter-Josef Meisch
  • Constructor Details

    • ElasticsearchConfiguration

      public ElasticsearchConfiguration()
  • Method Details

    • clientConfiguration

      @Bean(name="elasticsearchClientConfiguration") public abstract ClientConfiguration clientConfiguration()
      Must be implemented by deriving classes to provide the ClientConfiguration.
      Returns:
      configuration, must not be null
    • elasticsearchRestClient

      @Bean public org.elasticsearch.client.RestClient elasticsearchRestClient(ClientConfiguration clientConfiguration)
      Provides the underlying low level Elasticsearch RestClient.
      Parameters:
      clientConfiguration - configuration for the client, must not be null
      Returns:
      RestClient
    • elasticsearchTransport

      @Bean public co.elastic.clients.transport.ElasticsearchTransport elasticsearchTransport(org.elasticsearch.client.RestClient restClient, co.elastic.clients.json.JsonpMapper jsonpMapper)
      Provides the Elasticsearch transport to be used. The default implementation uses the RestClient bean and the JsonpMapper bean provided in this class.
      Returns:
      the ElasticsearchTransport
      Since:
      5.2
    • elasticsearchClient

      @Bean public co.elastic.clients.elasticsearch.ElasticsearchClient elasticsearchClient(co.elastic.clients.transport.ElasticsearchTransport transport)
      Provides the ElasticsearchClient to be used.
      Parameters:
      transport - the ElasticsearchTransport to use
      Returns:
      ElasticsearchClient instance
    • elasticsearchOperations

      @Bean(name={"elasticsearchOperations","elasticsearchTemplate"}) public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter, co.elastic.clients.elasticsearch.ElasticsearchClient elasticsearchClient)
      Creates a ElasticsearchOperations implementation using an ElasticsearchClient.
      Returns:
      never null.
    • jsonpMapper

      @Bean public co.elastic.clients.json.JsonpMapper jsonpMapper()
      Provides the JsonpMapper bean that is used in the elasticsearchTransport(RestClient, JsonpMapper) method.
      Returns:
      the JsonpMapper to use
      Since:
      5.2
    • transportOptions

      public co.elastic.clients.transport.TransportOptions transportOptions()
      Returns:
      the options that should be added to every request. Must not be null