package eu.dnetlib.scholix.api; import eu.dnetlib.scholix.api.index.ElasticSearchProperties; import org.elasticsearch.client.RestHighLevelClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.elasticsearch.client.ClientConfiguration; import org.springframework.data.elasticsearch.client.RestClients; import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration; import java.time.Duration; @Configuration public class RestClientConfig extends AbstractElasticsearchConfiguration { @Autowired private ElasticSearchProperties elasticSearchProperties; @Override @Bean public RestHighLevelClient elasticsearchClient() { final ClientConfiguration clientConfiguration = ClientConfiguration.builder() .connectedTo(elasticSearchProperties.getClusterNodes().split(",")) .withConnectTimeout(elasticSearchProperties.getConnectionTimeout()) .withSocketTimeout(elasticSearchProperties.getSocketTimeout()) .build(); return RestClients.create(clientConfiguration).rest(); } }