Elasticsearch 홈페이지에서 제공하는 API를 기반으로 인덱스 생성하는 방법
< pom.xml>
<dependency> <groupId>co.elastic.clients</groupId> <artifactId>elasticsearch-java</artifactId> <version>8.7.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency> |
<소스코드>
// Create the low-level client RestClient restClient = RestClient.builder(new HttpHost(es_ip, es_port)).build(); ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper()); // Synchronous blocking client // ElasticsearchClient client = new ElasticsearchClient(transport); // Asynchronous non-blocking client ElasticsearchAsyncClient asyncClient = new ElasticsearchAsyncClient(transport); asyncClient.indices().create(c -> c.index(indexname)); |
indices.create method를 시용하여 index 생성 시 없을 경우 생성하고 있을 경우 별도의 동작을 하지 않는다.
참고
Synchronous blocking - 명령이 끝날 때 까지 다른 행동을 하지 못함
Asynchronous non Blocking - 명령을 보내고 다른 행동을 진행하다 명령이 끝난 것을 받으면 실행
연결자료
Elasticsearch indexing - https://sleepingnuguri.tistory.com/15
Elasticsearch read - https://sleepingnuguri.tistory.com/16
참고자료 : https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/master/blocking-and-async.html
'Spring Boot' 카테고리의 다른 글
자바 데이터 타입 (0) | 2023.04.30 |
---|---|
Elasticsearch read (0) | 2023.04.30 |
Elasticsearch indexing(Data insert) (0) | 2023.04.28 |
Spring Boot를 이용한 서버 자원 모니터링 프로그램 (0) | 2023.03.27 |
Spring Boot란? (0) | 2023.03.15 |