0

I have elasticsearch v 5.4.0 running on mysite.com:9300, With x-pack auth:

login: mylogin

password: mypassword

And I have java + kotlin application with Spring Data Elasticsearch v 3.0.0.M4:

compile group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.0.0.M4'

Is there any way to create application.yml to connect to elasticsearch?

I find only examples for elasticsearch-2.4.4 version:

spring:
  data:
    elasticsearch:
      cluster-nodes: mysite.com:9300
      properties:
        shield:
          user: "mylogin:mypassword"
Olesia Ilchuk
  • 314
  • 2
  • 5
  • 16

1 Answers1

0

In the official documentation they recommend to use JavaConfig:

@Bean
    public TransportClient elasticsearchClient() throws UnknownHostException {
        TransportClient client = new PreBuiltXPackTransportClient(Settings.builder()
                .put("client.transport.nodes_sampler_interval", "5s")
                .put("client.transport.sniff", false)
                .put("transport.tcp.compress", true)
                .put("request.headers.X-Found-Cluster", "myclustername")
                .put("xpack.security.transport.ssl.enabled", false)
                .put("cluster.name", "myclustername")
                .put("xpack.security.user", "mylogin:mypassword")
                .build())
                .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("mysite.com"), 9300));
        return client;
    }

Gradle dependencies:

    compile group: 'org.elasticsearch.client', name: 'x-pack-transport', version: '5.4.0'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch'
Olesia Ilchuk
  • 314
  • 2
  • 5
  • 16