Elasticsearch 클라이언트
원본 보기Elasticsearch 클라이언트
Elasticsearch는 다양한 공식 라이브러리와 개발자 도구를 제공하므로 대부분의 인기 프로그래밍 언어에서 손쉽게 사용할 수 있습니다.
| 언어 | 빠른 설치(최신 버전) | 문서 | 소스 |
|---|---|---|---|
| Python | pip install elasticsearch |
문서 | 저장소 |
| Java | (프로젝트 구성) | 문서 | 저장소 |
| JavaScript / Node.js | npm install @elastic/elasticsearch |
문서 | 저장소 |
| C# / .NET | dotnet add package Elastic.Clients.Elasticsearch |
문서 | 저장소 |
| PHP | composer require elasticsearch/elasticsearch |
문서 | 저장소 |
| Go | require github.com/elastic/go-elasticsearch/v9 9.0 |
문서 | 저장소 |
| Ruby | gem install elasticsearch |
문서 | 저장소 |
| Rust(실험적) | cargo add elasticsearch |
문서 | 저장소 |
Elasticsearch 클라이언트 라이브러리는 Elasticsearch 서버의 메이저 또는 마이너 릴리스마다 함께 배포됩니다. 패치는 버그 수정을 더 빠르게 반영하기 위해 별도로 배포됩니다. 이 릴리스 정책은 호환성에 영향을 주지 않습니다. 예를 들어 클라이언트 8.13.x 버전은 y >= x인 서버 8.13.y 버전과 호환됩니다.
Elasticsearch 클라이언트는 상위 호환성을 갖습니다. 즉, 클라이언트는 같거나 더 높은 마이너 버전의 Elasticsearch와 문제없이 통신할 수 있습니다. 다만 이는 클라이언트가 최신 Elasticsearch 버전의 새 기능을 자동으로 지원한다는 의미는 아닙니다. 새 기능 지원은 새 클라이언트 버전이 릴리스된 후에만 가능합니다. 예를 들어 8.12 클라이언트는 Elasticsearch 8.13의 새 기능을 자동으로 지원하지 않으며, 이를 위해서는 8.13 클라이언트 버전이 필요합니다. Elasticsearch 언어 클라이언트의 하위 호환성은 기본 배포판에 한해서만 제공되며, 별도의 보장은 없습니다.
Elasticsearch를 업그레이드할 때는 클라이언트보다 서버를 먼저 업그레이드할 것을 강력히 권장합니다. 상위 호환성 정책 덕분에 클라이언트 애플리케이션은 클라이언트 자체를 업그레이드하기 전에도 새 서버와 계속 동작할 수 있습니다.
HTTP 클라이언트에서 응답 타임아웃을 사용하는 것은 피해야 합니다. Elasticsearch는 항상 모든 요청에 응답하지만, 일부 요청은 완료까지 수 분이 걸릴 수 있습니다. 예를 들어 Elastic 배포가 오토스케일링되는 동안 429 Too Many Requests 응답을 받을 수 있는데, 이는 정상적인 동작입니다.
자세한 내용은 HTTP 클라이언트 구성을 참고하세요.
로컬 Elasticsearch 서버에서 개발하고 테스트할 때는 start-local 사용을 권장합니다.
curl -fsSL https://elastic.co/start-local | sh
그 밖의 배포 유형에 대해서는 Elasticsearch 엔드포인트에 연결하기를 참고하세요.