Azure AI Search에서 Azure Blob Storage, SQL 서버, OneLake 등 알려진 데이터 원본으로부터 데이터를 풀(pull)하여 인덱스를 구축할 수 있다는 사실을 알고 계실 것입니다. ‘풀’ 메서드를 사용하는 경우, 내장된 인덱서는 사용자가 정의한 일정에 따라 실행되거나, 최소 5분 이상의 간격으로 온디맨드 방식으로 트리거할 수 있습니다.
하지만 인덱스로 데이터를 전송하는 또 다른 방법, 즉 ‘푸시(push)’ 메서드가 있다는 사실은 모르실 수도 있습니다. 이 접근 방식을 사용하면 검색 클라이언트가 초기 데이터 수집, 증분 업데이트 또는 삭제를 위해 AI Search로 데이터를 푸시할 수 있습니다.
푸시(Push) vs. 풀(Pull): 어떤 접근 방식이 시나리오에 적합할까요?
Azure AI Search의 푸시(Push) 및 풀(Pull) 메서드는 모두 인덱스에 데이터를 로드하는 강력한 방법입니다. 각 방법은 고유한 강점을 가지고 있으며, 올바른 선택은 사용자의 요구 사항에 따라 달라집니다. 다음은 두 가지 방식의 비교입니다.
| 특징 | 푸시 모델 (API) | 풀 모델 (인덱서) |
|---|---|---|
| 제어 및 유연성 | 타이밍, 배치 크기, 작업(업로드, 병합, 삭제)에 대한 완벽한 제어. | 예정된 실행 및 인덱서 구성으로 제한됩니다. |
| 지연 시간 | 거의 실시간 업데이트 – 필요에 따라 자주 인덱싱을 트리거할 수 있습니다. | 예정된 폴링 간격 또는 온디맨드 실행에 따라 달라집니다. |
| 데이터 원본 지원 | 스키마와 일치하는 JSON을 생성할 수 있는 모든 원본에서 작동합니다. | 지원되는 커넥터(Azure Blob, SQL, SharePoint 등)로 제한됩니다. |
| 병렬 처리 | 사용자 지정 가능 – 동시성 및 처리량을 위한 자체 파이프라인을 설계할 수 있습니다. | 인덱서에 의해 내부적으로 관리되며, 세부적인 제어가 어렵습니다. |
| AI 강화 | 필요한 경우 사용자 지정 구현이 필요합니다. | 강화를 위한 내장 스킬셋 및 통합 벡터화 기능. |
| 가장 적합한 경우 | 더 높은 인덱싱 성능, 더 복잡한 오케스트레이션; 높은 요구 사항의 인덱싱 타임라인. | 인덱싱 빈도 및 성능이 덜 중요할 때 빠른 설정 및 자동화. |
푸시(Push) 메커니즘에 대한 자세한 내용은 다음 문서를 참조하세요.
데이터 가져오기 및 데이터 수집 - Azure AI Search | Microsoft Learn
푸시 모델은 API를 사용하여 기존 검색 인덱스에 문서를 업로드합니다. 문서를 개별적으로 또는 배치당 최대 1000개 또는 배치당 16MB 중 먼저 도달하는 제한에 따라 배치로 업로드할 수 있습니다.
단계별 안내: 인덱스로 데이터 푸시하기
다음은 REST API POST 메서드를 사용하여 새 콘텐츠를 기존 인덱스로 ‘푸시’하고, cURL 명령을 사용하여 새 콘텐츠를 검색하는 방법에 대한 예시입니다.
기존 인덱스가 https://xxxxxxxxxxxxxxxx.search.windows.net 이라고 가정해 봅시다.
1단계. Azure Portal에서 검색 서비스 URL 가져오기.

2단계. AI Search 서비스에서 인덱스 이름 가져오기.

3단계. AI Search 서비스에서 API 키 가져오기.

4단계. 인덱스 필드 가져오기.

5단계. POST 명령을 사용하여 새 콘텐츠를 기존 인덱스로 ‘푸시’합니다.
아래는 POST 명령 예시입니다. 인덱스로 데이터를 푸시할 때 필드 이름을 지정해야 합니다. 이 코드는 문서 키 ‘chunk_id’에 ‘chunk-003’ 및 ‘chunk-004’ 값을 가진 두 개의 새 청크를 삽입하는 방법을 보여줍니다.

POST 요청을 보낸 후 결과는 다음과 같습니다:

6단계. 인덱스에서 새 콘텐츠가 검색 가능한지 확인합니다.
새 문서가 청크로 삽입되었으므로 키워드를 사용하여 검색할 수 있습니다. 아래는 PowerShell의 cURL 명령입니다.


이 글과 이 글이 여러분에게 얼마나 유용한지에 대한 피드백이나 질문이 있으시면 언제든지 문의해 주세요.