728x90
클라이언트 모듈
엘라스틱서치에서는 다양한 프로그래밍 언어에서 직접적으로 사용할 수 있는 라이브러리를 개발해서 제공한다.(지원하지 않는 언어에 대해서는 직접 클라이언트를 개발해서 추가하는 법 제공)
엘라스틱 서치에서 지원하는 언어별 라이브러리
- Java REST Client
- Java API
- JavaScript API
- Groovy API
- NET API
- PHP API
- Perl API
- Python API
- Ruby API
- Community Contributed Clients
자바 클라이언트 모듈
내부적으로 Http 방식으로 Rest API를 사용해 접근하는 방식과 네티 모듈을 이용해 네이티브 클라이언트를 통해 접근하는 방식 2가지가 있다.
Rest Client 방식
- Java High Level Rest Client라고도 불린다.
- Http 방식을 이용해 엘라스틱서치와 통신한다.
- 내부적으로는 HttpClient 모듈을 사용한다
Transport 클라이언트
- Java Client라고도 불린다.
- 초기부터 제공되던 클라이언트 방식으로 상대적 빠른 속도를 보장한다.
- 소켓을 이용해 엘라스틱서치와 통신한다.
- 내부적으로는 Netty 모듈을 사용한다.
초기 엘라스틱서치는 소켓을 이용한 Transport 클라이언트만 제공(속도가 빠름)했으나, 버전업에 따라 제공되는 기능이나, API 명세에 따라 클래스나 메서드가 바뀌는 문제가 있어 RestClient 이 도입되었다. RestClient는 내부적으로 Http 방식으로 동작하기 때문에 매우 유연한 사용성을 제공하고, 현재는 성능 또한 많이 좋아졌기 때문에 RestClient 방식을 사용하는 것이 좋다.
728x90
'Elastic Search' 카테고리의 다른 글
| Ch09. 엘라스틱서치와 루씬 이야기 - 클러스터 관점에서 구성요소 살펴보기 (0) | 2025.10.05 |
|---|---|
| Ch08. 엘라스틱서치 클라이언트 - Transport 클라이언트 (0) | 2025.10.03 |
| Ch07. 한글 검색 확장 기능 - 자바카페 플러그인 (0) | 2025.09.28 |
| Ch07. 한글 검색 확장 기능 - 한글 키워드 자동완성 (0) | 2025.09.28 |
| Ch07. 한글 검색 확장 기능 - 맞춤법 검사기 (0) | 2025.09.28 |