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 참고 정보를 제공해요.

더 알아보기