본문 바로가기
WIKI 기술 지식 베이스

Ingest your data into OpenSearch

원문 보기 위키 갱신

출처: 문서

본문

OpenSearch에 데이터 적재하기

인덱스에 문서를 추가하는 것을 ingesting 또는 indexing이라고 해요. 이 두 용어는 종종 같은 의미로 혼용되지만 조금 다른 뜻을 담고 있어요. ingesting은 데이터를 OpenSearch에 추가하는 것을 의미하고, indexing은 그 데이터를 검색할 수 있도록 정리하는 것을 의미해요. 인덱스에 문서를 추가하면 OpenSearch가 자동으로 그 문서를 인덱싱해요.

데이터 추가 및 관리에서는 문서를 한 번에 하나씩 추가했어요. 실제 데이터셋에서는 문서마다 별도의 요청을 보내는 게 비현실적이기 때문에, OpenSearch는 요청 한 번으로 여러 문서를 인덱싱할 수 있는 Bulk API를 제공해요.

벌크 인덱싱

이 예제는 students 인덱스가 존재하지 않는다고 가정해요. 데이터 추가 및 관리 마지막에서 인덱스를 삭제하지 않았다면 먼저 DELETE /students 요청을 보내세요. {: .note}

여러 문서를 한 번의 요청으로 students 인덱스에 인덱싱하려면 다음 요청을 보내세요:

POST _bulk
{ "create": { "_index": "students", "_id": "1" } }
{ "name": "John Doe", "gpa": 3.89, "grad_year": 2022 }
{ "create": { "_index": "students", "_id": "2" } }
{ "name": "Jonathan Powers", "gpa": 3.85, "grad_year": 2025 }
{ "create": { "_index": "students", "_id": "3" } }
{ "name": "Jane Doe", "gpa": 3.52, "grad_year": 2024 }

{% include copy-curl.html %}

각 문서는 두 줄로 구성돼요. 첫 번째 줄은 인덱스와 문서 ID를 지정하는 액션 줄이고, 바로 다음 줄에 문서 자체가 들어가요. create 액션은 같은 ID를 가진 문서가 이미 존재하면 실패해요. 기존 문서를 덮어쓰려면 대신 index를 사용하세요.

파일에 담긴 자신의 데이터를 인덱싱하려면 파일을 _bulk 엔드포인트로 보내면 돼요. 자세한 내용은 cURL을 사용한 벌크 요청 제출을 참고하세요.

데이터를 적재하는 다른 방법

Bulk API 외에도 다음과 같은 방법으로 OpenSearch에 데이터를 적재할 수 있어요:

  • OpenSearch Data Prepper를 사용하면 소스에서 데이터를 수집, 변환, 라우팅할 수 있어요. Data Prepper는 다운스트림 분석과 시각화에 맞게 데이터를 보강할 수 있는 서버 측 데이터 수집기예요. 자세한 내용은 Data Prepper를 참고하세요.
  • OpenSearch 언어 클라이언트를 사용하면 애플리케이션의 데이터를 인덱싱할 수 있어요. 언어 클라이언트는 여러분이 이미 작성 중인 언어로 요청을 대신 보내 줘요. 자세한 내용은 언어 클라이언트를 참고하세요.
  • 이미 운영 중인 로그 에이전트나 데이터 수집 도구를 사용해 데이터를 보낼 수도 있어요. OpenSearch는 다양한 서드파티 에이전트와 수집 도구를 지원해요. 자세한 내용은 에이전트 및 수집 도구를 참고하세요.

다음 단계

더 알아보기 (Learn more)