API reference
API reference
OpenSearch의 모든 API 작업에는 REST API를 쓸 수 있어요. OpenSearch 3.0부터는 이 작업 중 일부를 실험적인 gRPC API로 호출할 수도 있어요.
이 페이지는 개별 작업이 아니라 API 계열(family)을 정리해 둔 거예요. 특정 작업을 찾으려면 그 작업이 속한 계열로 들어가서 페이지의 API 목록을 확인해요.
출처: 문서
본문
REST API
1.0에서 도입
OpenSearch는 다음과 같은 REST API를 제공해요.
핵심 REST API (Core REST APIs)
이 섹션에 문서화된 핵심 REST API는 다음과 같아요.
| API | 용도 |
|---|---|
| Analyze API | 애널라이저가 텍스트 문자열에서 만들어내는 토큰을 검사해요. |
| CAT APIs | 클러스터 통계를 열로 정렬된 평문으로 읽어요. |
| List APIs | 인덱스·샤드 통계를 페이지 단위 평문으로 읽어요. |
| Cluster APIs | 클러스터 건강을 확인하고, 클러스터 설정을 바꾸고, 클러스터 통계를 조회해요. |
| Data stream APIs | 데이터 스트림을 만들고, 삭제하고, 수정하고, 정보를 조회해요. |
| Document APIs | 문서를 개별 또는 벌크로 색인하고, 조회하고, 업데이트하고, 삭제해요. |
| Index APIs | 인덱스, 별칭, 인덱스 템플릿을 만들고, 설정하고, 관리하고, 삭제해요. |
| Ingest APIs | 문서가 색인될 때 변환하는 ingest 파이프라인과 프로세서를 정의해요. |
| Nodes APIs | 개별 노드의 정보, 통계, hot threads를 조회해요. |
| Script APIs | Painless 스크립트를 저장하고, 조회하고, 실행해요. |
| Search APIs | 쿼리를 실행하고 검색 템플릿, scroll 컨텍스트, 검색 프로파일링을 다뤄요. |
| Snapshot APIs | 스냅샷 리포지토리를 관리하고 스냅샷을 만들고 복원해요. |
| Tasks APIs | 오래 걸리는 작업을 추적하고 취소해요. |
이 페이지의 나머지 API들은 각각의 섹션에 문서화되어 있어요.
검색 기능 및 쿼리 언어 API (Search feature and query language APIs)
다음 API들은 핵심 검색 API를 확장해서 쿼리 제출, 결과 처리, 관련성 측정을 더 다양한 방식으로 할 수 있게 해줘요.
| API | 용도 |
|---|---|
| Asynchronous Search API | 검색을 백그라운드로 실행하고 완료되는 동안 부분 결과를 조회해요. |
| Search Pipeline APIs | 검색 요청과 결과를 변환하는 검색 파이프라인과 프로세서를 정의해요. |
| Search Relevance Workbench APIs | 검색 품질을 측정하는 쿼리 세트, 검색 설정, judgments, experiments를 만들어요. |
| SQL and PPL API | SQL과 Piped Processing Language 쿼리를 실행하고 이들이 읽는 데이터 소스를 관리해요. |
벡터 검색·머신러닝 API (Vector search and machine learning APIs)
다음 API들은 벡터 검색과 머신러닝을 지원하는 모델, 에이전트, 워크플로우를 관리해요.
| API | 용도 |
|---|---|
| ML Commons API | 머신러닝 모델, 에이전트, 커넥터를 등록하고 배포하고 실행해요. |
| Vector Search API | 벡터 검색을 지원하는 모델을 관리하고 통계를 읽어요. |
| Workflow APIs | 복잡한 설정 작업을 자동화하는 워크플로우 템플릿을 만들고 프로비저닝하고 관리해요. |
인덱스 관리 API (Index management APIs)
다음 API들은 인덱스와 그 데이터의 유지보수를 자동화해요.
| API | 용도 |
|---|---|
| Index Rollups API | 과거 데이터를 더 작은 인덱스로 요약하는 rollup 작업을 만들고 관리해요. |
| Index State Management API | 인덱스 수명 주기 작업을 자동화하는 정책을 만들고 관리해요. |
| ISM Error Prevention API | Index State Management 오류 방지를 켜고 그 검증 결과를 읽어요. |
| Refresh Search Analyzer API | 열린 인덱스를 닫지 않고 검색 애널라이저를 다시 로드해요. |
| Transforms API | 데이터를 새 인덱스로 재구성하는 transform 작업을 만들고 관리해요. |
클러스터 관리 API (Cluster management APIs)
다음 API들은 클러스터 가용성을 보호하고 클러스터가 자원을 사용하는 방식을 제어해요.
| API | 용도 |
|---|---|
| Cross-Cluster Replication (CCR) API | 리더 클러스터의 인덱스를 팔로워 클러스터로 복제해요. |
| Remote Store Stats API | 원격 백업 저장소의 업로드·다운로드 통계를 읽어요. |
| Rules API | 들어오는 요청을 워크로드 그룹에 배정하는 자동 태그 지정 규칙을 만들고 관리해요. |
| Shard Indexing Backpressure Stats API | 샤드 색인 백프레셔를 모니터링해요. |
| Snapshot Management API | 일정에 따라 스냅샷을 만들고 삭제해요. |
| Workload Management APIs | 리소스 사용을 제한하는 워크로드 그룹을 만들고 그 통계를 읽어요. |
관찰·모니터링 API (Observability and monitoring APIs)
다음 API들은 클러스터 상태를 보고하고 변화가 있을 때 알려줘요.
| API | 용도 |
|---|---|
| Alerting API | 모니터, 트리거, 알림을 만들고 관리해요. |
| Anomaly Detection API | 이상 탐지기를 만들고 관리하고, 찾아낸 이상을 읽어요. |
| Forecasting API | 포캐스터를 만들고 관리하고, 만들어낸 예측을 읽어요. |
| Job Scheduler APIs | 클러스터의 예약 작업과 잠금을 모니터링해요. |
| Notifications API | 알림을 전달하는 채널과 보내는 소스를 정의해요. |
| Performance Analyzer API | 노드나 클러스터의 성능 메트릭을 조회해요. |
| Query Insights APIs | 상위 N개 쿼리, 실시간 쿼리, 쿼리 인사이트 건강 통계를 읽고 쿼리 인사이트 설정을 바꿔요. |
| Reporting API | 리포트를 정의하고 대시보드, 시각화, 저장된 검색, 노트북에서 생성해요. 렌더링된 콘텐츠를 다운로드하려면 OpenSearch Dashboards 엔드포인트를 사용해요. |
| Root Cause Analysis API | 클러스터의 근본 원인 분석 결과를 조회해요. |
보안·보안 분석 API (Security and security analytics APIs)
다음 API들은 클러스터에 대한 접근 제어를 제공하고 담긴 데이터의 보안 위협을 감지해요.
| API | 용도 |
|---|---|
| Resource Sharing APIs | 모델, 감지기 같은 플러그인 리소스를 다른 사용자·역할과 공유해요. |
| Security APIs | 사용자, 역할, 역할 매핑, action 그룹, tenant를 관리하고 보안 설정을 읽거나 교체해요. |
| Security Analytics APIs | 보안 이벤트를 식별하는 감지기, 규칙, findings, 알림을 관리해요. |
OpenSearch Dashboards API
다음 API들은 OpenSearch Dashboards 저장 객체(saved objects)와 워크스페이스를 관리하고 사용 통계를 읽어요. 앞선 REST API 요청이 기본적으로 9200 포트의 OpenSearch REST 계층으로 전송되는 것과 달리, 이 요청들은 기본적으로 5601 포트의 OpenSearch Dashboards로 전송돼요.
| API | 용도 |
|---|---|
| Maps Stats API | 지도와 레이어의 사용 통계를 읽어요. |
| Saved Objects APIs | 인덱스 패턴, 시각화, 대시보드 같은 저장 객체를 나열·생성·업데이트·내보내기·가져오기해요. |
| Search Relevance Stats API | 검색 관련성 작업의 사용 통계를 읽어요. |
| Workspace APIs | 워크스페이스를 만들고, 업데이트하고, 나열하고, 삭제해요. |
gRPC API
3.0에서 도입
OpenSearch 3.0부터 gRPC API를 쓸 수 있어요. 이는 전통적인 REST 인터페이스에 비해 성능이 더 높은 대안이에요. gRPC 프로토콜을 사용해서 OpenSearch 클러스터와 더 효율적으로 통신해요. 자세한 내용과 지원 API는 gRPC APIs 문서를 참고해요.
참고 (Reference)
다음 페이지는 추가 API 참고 정보를 제공해요.