Elasticsearch (검색)
원본 보기검색 활용 사례
이 섹션에서는 Elasticsearch의 핵심 검색 기능을 설명합니다. 이 기능들은 모든 Elastic 배포, 솔루션, 프로젝트 유형에서 사용할 수 있습니다.
검색 기반 애플리케이션을 위한 검색 기법, 쿼리 방식, 랭킹 전략, 데이터 수집 방법을 이해하려면 이 섹션을 참고하세요.
Elasticsearch 솔루션이나 서버리스 프로젝트 유형을 사용하고 계신가요? Elasticsearch 솔루션 문서에서 이러한 옵션에 포함된 추가 UI 도구를 다룹니다.
다음과 같은 활용 사례에 Elasticsearch 검색 기능을 사용하세요:
- 웹사이트 및 문서 검색
- 이커머스 상품 카탈로그
- 콘텐츠 추천 시스템
- RAG(Retrieval Augmented Generation) 시스템
- 지리 공간 검색 애플리케이션
- 질의응답 시스템
- 분석 대시보드 및 데이터 탐색
- 맞춤형 옵저버빌리티 또는 사이버 보안 검색 도구
- 그 외 다양한 사례!
이 섹션에서 다루는 주제는 다음과 같습니다:
| 주제 | 설명 |
|---|---|
| 시작하기 | 배포를 생성하고, Elasticsearch에 연결하고, 첫 검색을 실행합니다 |
| 데이터 수집 | 검색 활용 사례를 위해 Elasticsearch에 데이터를 넣는 방법들을 알아봅니다 |
| 검색 접근 방식 | 전문 검색, 벡터 검색, 시맨틱 검색, 하이브리드 검색 등 Elasticsearch에서 사용할 수 있는 검색 기법을 비교합니다 |
| 쿼리 작성 | 특정 쿼리 언어를 사용해 검색 접근 방식을 구현합니다 |
| 랭킹과 리랭킹 | 결과 순서와 관련도를 제어합니다 |
| RAG | Elasticsearch로 검색 증강 생성을 구현하는 도구들을 알아봅니다 |
| 애플리케이션 구축 | Elasticsearch를 웹사이트나 애플리케이션에 통합합니다 |
인덱스, 문서, 매핑 같은 Elasticsearch 핵심 개념에 대한 소개는 Elasticsearch 데이터 저장소를 참고하세요.
노드, 샤드, 프라이머리, 레플리카를 포함한 Elasticsearch 클러스터의 구성 요소를 더 깊이 살펴보려면 분산 아키텍처를 참고하세요.
Elasticsearch는 벡터 임베딩을 저장하고 쿼리 벡터와 가장 유사한 결과를 검색함으로써 벡터 데이터베이스로 동작합니다. 벡터 임베딩은 머신러닝 모델이 만들어낸, 텍스트·이미지·오디오 같은 데이터의 수치 표현입니다. 유사한 항목일수록 벡터 공간에서 더 가까이 배치되기 때문에, Elasticsearch는 이러한 임베딩을 활용해 시맨틱 유사도 검색을 수행하고 정확한 키워드 일치가 아닌 의미에 기반한 결과를 반환할 수 있습니다.
이 기능은 Elasticsearch의 벡터 검색과 관련 활용 사례의 기반이 됩니다. 이를 통해 전문 검색, 구조화된 필터, 집계에 이미 사용 중인 동일한 데이터와 인프라 위에서 시맨틱 검색을 다룰 수 있습니다. Elasticsearch는 dense_vector, sparse_vector 같은 벡터 필드 타입에 임베딩을 다른 인덱싱된 데이터와 함께 저장하는 방식으로 이를 지원합니다.
Elasticsearch를 벡터 데이터베이스로 사용하려면 semantic_text 필드 타입을 사용할 수 있습니다. semantic_text 필드에 콘텐츠를 인덱싱하면, Elasticsearch가 설정된 머신러닝 모델을 사용해 벡터 임베딩을 자동으로 생성하고 이를 내부 벡터 필드에 저장합니다. 이 임베딩은 효율적인 k-최근접 이웃(kNN) 검색을 위해 인덱싱되어, 쿼리 시점에 빠른 유사도 기반 검색을 가능하게 합니다.
Elasticsearch의 벡터 검색 개념과 기능을 개괄적으로 이해하려면 벡터 검색을 참고하세요. 활용 사례 개요와 구현 방법에 대한 안내는 벡터 검색 활용 사례를 참고하세요.