如何使用X-Pack身份验证为Spring Data Elasticsearch v 3.0.0.M4创建application.yml文件?
我在mysite.com:9300上运行elasticsearch v 5.4.0,使用x-pack auth:
登录:mylogin
密码:mypassword
我有Spring Data Elasticsearch v 3.0.0.M4的java + kotlin应用程序:
compile group: 'org.springframework.data', name: 'spring-data-elasticsearch', version: '3.0.0.M4'
有没有办法创建application.yml连接到elasticsearch?
我只找到elasticsearch-2.4.4版本的例子:
spring: data: elasticsearch: cluster-nodes: mysite.com:9300 properties: shield: user: "mylogin:mypassword"
在官方文档中,他们推荐使用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依赖关系:
compile group: 'org.elasticsearch.client', name: 'x-pack-transport', version: '5.4.0' compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch'