특허
보안
Elasticsearch는 프로덕션 규모 워크로드의 속도와 관련성에 최적화된 분산 검색 및 분석 엔진, 확장 가능한 데이터 저장소 및 벡터 데이터베이스입니다. Elasticsearch는 Elastic 오픈 스택 플랫폼의 기반입니다. 대규모 데이터 세트를 거의 실시간으로 검색하고, 벡터 검색을 수행하고, 생성 AI 애플리케이션과 통합하는 등 다양한 작업을 수행할 수 있습니다.
Elasticsearch가 지원하는 사용 사례는 다음과 같습니다.
검색 증강 생성(RAG)
벡터 검색
전체 텍스트 검색
로그
측정항목
애플리케이션 성능 모니터링(APM)
보안 로그
... 그리고 더!
Elasticsearch의 기능에 대해 자세히 알아보려면 제품 페이지를 참조하세요.
기계 학습 혁신과 Elastic의 최신 Lucene 기여에 대한 정보에 액세스하려면 Search Labs에서 더 많은 정보를 찾아보실 수 있습니다.
Elasticsearch를 설정하는 가장 간단한 방법은 Elastic Cloud에서 Elasticsearch Service를 사용하여 관리형 배포를 생성하는 것입니다.
Elasticsearch를 직접 설치하고 관리하려면 elastic.co/downloads/elasticsearch에서 최신 버전을 다운로드하세요.
경고 | 프로덕션 배포에는 이 지침을 사용하지 마세요. 이 설정은 로컬 개발 및 테스트 전용입니다. |
start-local
스크립트를 사용하여 로컬 개발 또는 테스트를 위해 Docker에서 Elasticsearch 및 Kibana를 빠르게 설정하세요.
ℹ️ start-local
설정에 대한 자세한 내용은 GitHub의 README를 참조하세요.
Docker가 설치되어 있지 않은 경우 운영 체제에 맞는 Docker Desktop을 다운로드하여 설치하십시오.
Microsoft Windows를 사용하는 경우 WSL(Linux용 Windows 하위 시스템)을 설치합니다.
이 설정에는 모든 Elastic 기능이 포함된 1개월 평가판 라이선스가 함께 제공됩니다.
평가판 기간이 지나면 라이센스는 무료 및 개방형 - 기본 으로 되돌아갑니다. 자세한 내용은 Elastic 구독을 참조하세요.
start-local
실행 Elasticsearch와 Kibana를 로컬로 설정하려면 start-local
스크립트를 실행하세요.
컬 -fsSL https://elastic.co/start-local | 쉿
이 스크립트는 구성 파일이 포함된 elastic-start-local
폴더를 생성하고 Docker를 사용하여 Elasticsearch와 Kibana를 모두 시작합니다.
스크립트를 실행한 후 다음 엔드포인트에서 Elastic 서비스에 액세스할 수 있습니다.
엘라스틱서치 : http://localhost:9200
키바나 : http://localhost:5601
스크립트는 설치가 끝날 때 표시되고 .env
파일에 저장되는 elastic
사용자에 대한 임의의 비밀번호를 생성합니다.
주의 | 이 설정은 로컬 테스트 전용입니다. HTTPS가 비활성화되고 Elasticsearch에 기본 인증이 사용됩니다. 보안을 위해 Elasticsearch 및 Kibana는 |
Elasticsearch용 API 키가 생성되어 .env
파일에 ES_LOCAL_API_KEY
로 저장됩니다. 프로그래밍 언어 클라이언트 또는 REST API를 사용하여 Elasticsearch에 연결하려면 이 키를 사용하세요.
elastic-start-local
폴더에서 curl
사용하여 Elasticsearch에 대한 연결을 확인합니다.
source .env 컬 $ES_LOCAL_URL -H " 인증: ApiKey ${ES_LOCAL_API_KEY} "
REST API를 통해 Elasticsearch에 데이터 및 기타 요청을 보냅니다. Elasticsearch 언어 클라이언트 및 컬과 같이 HTTP 요청을 보내는 클라이언트를 사용하여 Elasticsearch와 상호 작용할 수 있습니다.
다음은 기본 인증을 사용하여 새 Elasticsearch 인덱스를 생성하는 컬 명령의 예입니다.
컬 -u 탄력적: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' 콘텐츠 유형: application/json '
언어 클라이언트를 사용하여 로컬 개발 Elasticsearch 클러스터에 연결하려면 환경 변수에 설정한 elastic
사용자 이름과 비밀번호로 기본 인증을 사용할 수 있습니다.
다음 연결 세부정보를 사용합니다.
Elasticsearch 엔드포인트 : http://localhost:9200
사용자 이름 : elastic
비밀번호 : $ELASTIC_PASSWORD
(환경변수에 설정한 값)
예를 들어 Python elasticsearch
클라이언트에 연결하려면 다음 안내를 따르세요.
Elasticsearch 에서 os 가져오기 가져오기 Elasticsearch 사용자 이름 = 'elastic' 비밀번호 = os . getenv ( 'ELASTIC_PASSWORD' ) # 환경 변수에 설정한 값 client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( 사용자 이름 , 비밀번호 ) ) print ( client . info ())
Kibana의 개발자 콘솔은 요청을 실험하고 테스트하는 쉬운 방법을 제공합니다. 콘솔에 액세스하려면 Kibana를 연 다음 Management > Dev Tools 로 이동합니다.
데이터 추가
REST API를 통해 JSON 개체(문서)를 전송하여 Elasticsearch로 데이터를 인덱싱합니다. 구조화된 텍스트, 구조화되지 않은 텍스트, 숫자 데이터, 지리공간 데이터 등 어떤 것이든 Elasticsearch는 빠른 검색을 지원하는 방식으로 이를 효율적으로 저장하고 색인화합니다.
로그 및 지표와 같은 타임스탬프가 있는 데이터의 경우 일반적으로 자동 생성된 여러 백업 인덱스로 구성된 데이터 스트림에 문서를 추가합니다.
인덱스에 단일 문서를 추가하려면 해당 인덱스를 대상으로 하는 HTTP 게시 요청을 제출하세요.
POST /customer/_doc/1 { "firstname": "Jennifer", "lastname": "Walters" }
이 요청은 customer
인덱스가 없는 경우 자동으로 생성하고 ID가 1인 새 문서를 추가하며 firstname
및 lastname
필드를 저장하고 인덱싱합니다.
새 문서는 클러스터의 모든 노드에서 즉시 사용할 수 있습니다. 문서 ID를 지정하는 GET 요청을 사용하여 검색할 수 있습니다.
GET /고객/_doc/1
하나의 요청에 여러 문서를 추가하려면 _bulk
API를 사용하세요. 대량 데이터는 줄바꿈으로 구분된 JSON(NDJSON)이어야 합니다. 마지막 줄을 포함하여 각 줄은 개행 문자( n
)로 끝나야 합니다.
PUT customer/_bulk { "create": { } } { "firstname": "Monica","lastname":"Rambeau"} { "create": { } } { "firstname": "Carol","lastname": "Danvers"} { "생성": { } } { "이름": "완다","성":"Maximoff"} { "생성": { } } { "이름": "제니퍼","성": "다케다"}
찾다
색인화된 문서를 거의 실시간으로 검색할 수 있습니다. 다음 검색은 customer
인덱스에서 이름이 Jennifer 인 모든 고객과 일치합니다.
GET customer/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
탐구하다
Kibana의 Discover를 사용하여 데이터를 대화형으로 검색하고 필터링할 수 있습니다. 여기에서 시각화를 생성하고 대시보드를 구축 및 공유할 수 있습니다.
시작하려면 하나 이상의 Elasticsearch 인덱스, 데이터 스트림 또는 인덱스 별칭에 연결하는 데이터 보기를 생성하세요.
관리 > 스택 관리 > Kibana > 데이터 보기 로 이동합니다.
데이터 보기 만들기 를 선택합니다.
데이터 보기의 이름과 하나 이상의 색인과 일치하는 패턴(예: customer ) 을 입력하십시오.
데이터 보기를 Kibana에 저장을 선택합니다.
탐색을 시작하려면 Analytics > Discover 로 이동하세요.
이전 버전의 Elasticsearch에서 업그레이드하려면 Elasticsearch 업그레이드 설명서를 참조하세요.
Elasticsearch는 빌드 시스템으로 Gradle을 사용합니다.
로컬 OS용 배포판을 만들고 완료 시 출력 위치를 인쇄하려면 다음을 실행하세요.
./gradlew localDistro
다른 플랫폼용 배포판을 빌드하려면 관련 명령을 실행하세요.
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
지원되는 모든 플랫폼에 대한 배포판을 빌드하려면 다음을 실행하세요.
./gradlew 조립
배포판은 distribution/archives
로 출력됩니다.
테스트 스위트를 실행하려면 TESTING을 참조하세요.
전체 Elasticsearch 문서를 보려면 elastic.co를 방문하세요.
문서화 프로세스에 대한 자세한 내용은 README 문서를 참조하세요.
elasticsearch-labs
리포지토리에는 벡터 검색, 하이브리드 검색 및 생성적 AI 사용 사례를 위해 Elasticsearch를 테스트하기 위한 실행 가능한 Python 노트북, 샘플 앱 및 리소스가 포함되어 있습니다.
기여 지침은 CONTRIBUTING을 참조하세요.
버그를 보고하거나 기능을 요청하려면 GitHub 문제를 생성하세요. 다른 사람이 동일한 주제에 대해 이슈를 생성하지 않았는지 확인하세요.
Elasticsearch 사용에 도움이 필요하신가요? Elastic Forum이나 Slack에 문의하세요. 동료 커뮤니티 회원이나 Elastic 엔지니어가 기꺼이 도와드릴 것입니다.