Class ElasticsearchConfiguration
java.lang.Object
org.springframework.data.elasticsearch.config.ElasticsearchConfigurationSupport
org.springframework.data.elasticsearch.client.elc.ElasticsearchConfiguration
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. From Version 6.0 on, this class uses the new Rest5Client
from Elasticsearch 9. The old implementation using the RestClient is still available under the name
ElasticsearchLegacyRestClientConfiguration.- Since:
- 4.4
- Author:
- Peter-Josef Meisch
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ClientConfigurationMust be implemented by deriving classes to provide theClientConfiguration.co.elastic.clients.elasticsearch.ElasticsearchClientelasticsearchClient(co.elastic.clients.transport.ElasticsearchTransport transport) Provides theElasticsearchClientto be used.elasticsearchOperations(ElasticsearchConverter elasticsearchConverter, co.elastic.clients.elasticsearch.ElasticsearchClient elasticsearchClient) Creates aElasticsearchOperationsimplementation using anElasticsearchClient.co.elastic.clients.transport.rest5_client.low_level.Rest5ClientelasticsearchRest5Client(ClientConfiguration clientConfiguration) Provides the underlying low level Elasticsearch RestClient.co.elastic.clients.transport.ElasticsearchTransportelasticsearchTransport(co.elastic.clients.transport.rest5_client.low_level.Rest5Client rest5Client, co.elastic.clients.json.JsonpMapper jsonpMapper) Provides the Elasticsearch transport to be used.co.elastic.clients.json.JsonpMapperProvides the JsonpMapper bean that is used in theelasticsearchTransport(Rest5Client, JsonpMapper)method.co.elastic.clients.transport.TransportOptions
-
Constructor Details
-
ElasticsearchConfiguration
public ElasticsearchConfiguration()
-
-
Method Details
-
clientConfiguration
@Bean(name="elasticsearchClientConfiguration") public abstract ClientConfiguration clientConfiguration()Must be implemented by deriving classes to provide theClientConfiguration.- Returns:
- configuration, must not be null
-
elasticsearchRest5Client
@Bean public co.elastic.clients.transport.rest5_client.low_level.Rest5Client elasticsearchRest5Client(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(co.elastic.clients.transport.rest5_client.low_level.Rest5Client rest5Client, co.elastic.clients.json.JsonpMapper jsonpMapper) Provides the Elasticsearch transport to be used. The default implementation uses theRest5Clientbean and theJsonpMapperbean 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 theElasticsearchClientto be used.- Parameters:
transport- theElasticsearchTransportto use- Returns:
- ElasticsearchClient instance
-
elasticsearchOperations
@Bean(name={"elasticsearchOperations","elasticsearchTemplate"}) public ElasticsearchOperations elasticsearchOperations(ElasticsearchConverter elasticsearchConverter, co.elastic.clients.elasticsearch.ElasticsearchClient elasticsearchClient) Creates aElasticsearchOperationsimplementation using anElasticsearchClient.- Returns:
- never null.
-
jsonpMapper
Provides the JsonpMapper bean that is used in theelasticsearchTransport(Rest5Client, JsonpMapper)method.- Returns:
- the
JsonpMapperto 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
-