[Elasticsearch] TransportClient on 5.x
Elastic/Elasticsearch 2017. 3. 9. 11:51elasticsearch 2.4 에서 사용하던 java api 중 TransportClinet 사용 방법이 바뀌어서 작성 합니다.
변경된 내용에 대해서는 elasticsearch 공식 홈페이지에 자세히 나와 있습니다.
[참고문서]
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/_maven_repository.html
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html
[코드 변경]
2.x)
settings = settingsBuilder()
.put("cluster.name", cluster)
.put("client.transport.sniff", true)
.put("network.tcp.blocking", false) // tcp non-blocking mode
.put("client.transport.ping_timeout", "10s")
.build();
5.x)
settings = builder()
.put("cluster.name", cluster)
.put("client.transport.sniff", true)
.put("network.tcp.blocking", false) // tcp non-blocking mode
.put("client.transport.ping_timeout", "10s")
.build();
2.x)
TransportClient client = TransportClient.builder().settings(settings).build();
5.x)
TransportClient client = new PreBuiltTransportClient(settings);
여기서 주의 하실 점은 참고문서에 있지만 transport 가 분리 되었기 때문에 별도로 dependency 구성을 해주셔야 합니다.
Maven Dependency 추가)
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
별 내용은 아니지만 혹시라도 삽질 하시는 분들이 계실 수 있어 작성해 봤습니다.