프로젝트 소개

Elasticsearch는 속도와 관련성을 생산 규모 워크로드에 최적화한 분산 검색 및 분석 엔진, 확장 가능한 데이터 저장소, 그리고 벡터 데이터베이스입니다. Elastic의 오픈 Stack 플랫폼의 기반이 되며, massive 데이터셋에 대한 근거리 실시간 검색, 벡터 검색, 그리고 생성형 AI 애플리케이션과의 통합을 가능하게 합니다. 주요 사용 사례에는 검색 증강 생성(RAG), 벡터 검색, 전체 텍스트 검색, 로그, 메트릭, 애플리케이션 성능 모니터링(APM), 그리고 보안 로그 분석이 포함됩니다. 이 프로젝트는 무료이며 오픈 소스이며, Lucene에 기여하고 다양한 머신러닝 혁신을 제공합니다. 시작하기: 가장 간단한 방법은 관리형 Elastic Cloud 배포를 이용하거나 elastic.co에서 다운로드하여 자체 호스팅하는 것입니다. 로컬 개발 및 테스트를 위해 Elastic은 Docker에서 Elasticsearch와 Kibana를 설정하는 start-local 스크립트를 제공합니다: curl -fsSL https://elastic.co/start-local | sh 이 명령은 elastic-start-local 폴더를 생성하고, elastic 사용자에 대한 무작위 비밀번호를 생성하며, .env에 API 키를 저장하고, Elasticsearch를 http://localhost:9200, Kibana를 http://localhost:5601에서 노출합니다. 이 설정은 Basic 인증을 사용하며 localhost에서만 접근 가능하며, production 용도로는 의도되지 않았습니다. 사용자는 REST API를 통해 Elasticsearch와 상호작용합니다. curl 예시는 인덱스 생성, 문서 추가, 그리고 검색을 보여줍니다. 공식 언어 클라이언트(예: Python)는 기본 인증을 지원합니다. Kibana의 Dev Tools 콘솔은 요청을 실험하기 위한 편리한 인터페이스를 제공합니다. 문서는 JSON 객체이며, bulk 인덱싱은 _bulk API를 통해 newline-delimited JSON을 사용합니다. 검색은 근거리 실시간으로 이용 가능합니다. Kibana Discover는 데이터 뷰, 시각화, 그리고 대시보드를 통해 대화형 탐색을 허용합니다. 이전 버전에서의 업그레이드는 공식 업그레이드 문서에서 다룹니다. 소스에서 빌드는 Gradle을 사용하며, ./gradlew localDistro를 실행하면 로컬 OS용 배포본이 생성되고, Linux, macOS, Windows용 플랫폼별 어셈블리 명령어도 존재합니다. 테스트는 TESTING.asciidoc에 설명되어 있습니다. 전체 문서는 elastic.co에서 확인할 수 있습니다. elasticsearch-labs 저장소에는 벡터 검색, 하이브리드 검색, 그리고 생성형 AI 사용 사례를 위한 Python 노트북, 샘플 앱, 그리고 리소스가 포함됩니다. 기여는 CONTRIBUTING.md를 통해 환영받으며, 버그와 기능 요청은 GitHub Issues로 제출할 수 있고, 커뮤니티 지원은 Elastic Forum과 Slack을 통해 이용할 수 있습니다.