참고
Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.
일정에 schedule 따라 실행되도록 인덱서를 구성하도록 속성을 설정합니다. 인덱서 예약은 다음과 같은 상황에서 유용합니다.
- 원본 데이터는 시간이 지남에 따라 변경되며 인덱서에서 차이를 자동으로 처리하려고 합니다.
- 원본 데이터는 매우 크며 모든 콘텐츠를 인덱싱하려면 되풀이 일정이 필요합니다.
- 여러 인덱서를 사용해 여러 데이터 원본에서 인덱스를 채우고 있으며, 충돌을 줄이기 위해 작업 시간을 엇갈리게 하려는 경우입니다.
일반적인 2시간 처리 기간 내에 인덱싱을 완료할 수 없는 경우 인덱서가 2시간 주기로 실행되도록 예약하여 대량의 데이터를 처리합니다. 데이터 원본이 변경 검색 논리를 지원하는 한, 인덱서는 각 실행에서 검색이 중단된 위치를 자동으로 선택할 수 있습니다.
일정에 인덱서가 배치되면 간격 또는 시작 시간을 지우거나 true로 설정할 disabled 때까지 일정에 유지됩니다. 예약된 인덱서가 예기치 않게 트리거를 중지하는 경우 복구 단계에 대한 예약 동작 FAQ를 참조하세요. 처리할 것이 없는 경우 인덱서가 일정에 따라 그대로 두는 것은 시스템 성능에 영향을 주지 않습니다. 변경된 콘텐츠를 확인하는 것은 비교적 빠른 작업입니다.
필수 구성 요소
데이터 원본 및 인덱스로 구성된 유효한 인덱서입니다.
데이터 원본에서 검색을 변경합니다. Azure Storage 및 SharePoint에는 기본 제공된 변경 감지 기능이 있습니다. Azure SQL 및 Azure Cosmos DB 같은 다른 데이터 원본의 경우 변경 검색을 수동으로 사용하도록 설정해야 합니다.
일정 정의
일정은 인덱서 정의의 일부입니다. 속성을 생략 schedule 하면 인덱서는 요청 시만 실행됩니다. 속성에는 두 부분이 있습니다.
| 속성 | 설명 |
|---|---|
| "interval" | (필수) 두 번의 연속된 인덱서 실행 시작 사이의 시간 간격입니다. 허용되는 가장 작은 간격은 5분이고 가장 긴 간격은 1,440분(24시간)입니다. XSD "dayTimeDuration" 값 형식( ISO 8601 기간 값의 제한된 하위 집합)으로 지정합니다.
이 값의 패턴은 다음과 P(nD)(T(nH)(nM))같습니다.
예제: 15분 간격이면 PT15M, 2시간 간격이면 PT2H. |
| "startTime" | (선택 사항) UTC(협정 세계시)로 시작 시간을 지정합니다. 이 값을 생략하면 현재 시간이 사용됩니다. 이 시간은 과거일 수 있으며, 이 경우 원래 시작 시간 이후 인덱서가 계속 실행된 것처럼 첫 번째 실행이 예약됩니다. |
다음 예제는 1월 1일 자정에 시작하여 2시간마다 실행되는 일정입니다.
{
"dataSourceName" : "hotels-ds",
"targetIndexName" : "hotels-idx",
"schedule" : { "interval" : "PT2H", "startTime" : "2024-01-01T00:00:00Z" }
}
일정 구성
인덱서 정의에서 일정을 지정합니다. 일정을 설정하려면 Azure 포털, REST API 또는 Azure SDK 사용합니다.
- Azure Portal에서 검색 서비스로 이동합니다.
- 왼쪽 창에서 인덱서를 선택합니다.
- 인덱스를 엽니다.
- 설정을 선택합니다.
- 아래로 스크롤하여 일정으로 이동한 다음 시간별, 일별 또는 사용자 지정 을 선택하여 특정 날짜, 시간 또는 사용자 지정 간격을 설정합니다.
인덱스 맨 위에 있는 인덱서 정의(JSON) 탭으로 전환하여 일정 정의를 XSD 형식으로 봅니다.
일정 동작 FAQ
여러 인덱서 작업을 병렬로 실행할 수 있나요?
동시에 여러 인덱서를 실행할 수 있지만 각 인덱서는 단일 인스턴스입니다. 동일한 인덱서의 복사본 두 개를 동시에 실행할 수 없습니다.
텍스트 기반 인덱싱의 경우 스케줄러는 검색 서비스에서 지원하는 만큼의 인덱서 작업을 시작할 수 있으며 검색 단위 수가 결정됩니다. 예를 들어 서비스에 3개의 복제본과 4개의 파티션이 있는 경우 요청 시 시작되든 일정에 따라 시작되든 12개의 인덱서 작업이 활성 실행 중일 수 있습니다.
기술 기반 인덱싱의 경우 인덱서는 특정 실행 환경에서 실행됩니다. 이러한 이유로 서비스 단위 수는 실행할 수 있는 기술 기반 인덱서 작업의 수에 영향을 주지 않습니다. 여러 기술 기반 인덱서는 병렬로 실행될 수 있지만 실행 환경 내의 콘텐츠 프로세서 가용성에 따라 달라집니다.
예약된 작업은 항상 지정된 시간에 시작하나요?
인덱서 프로세스는 큐에 대기할 수 있으며 처리 워크로드 및 기타 요인에 따라 게시된 시간에 정확히 시작되지 않을 수 있습니다. 예를 들어 다음 예약된 실행이 시작될 때 인덱서가 계속 실행되는 경우 보류 중인 실행은 다음 예약된 항목까지 연기되므로 현재 작업이 완료될 수 있습니다.
이 동작을 보다 구체적으로 만들려면 다음 예제를 고려하세요. 시간 간격과 2024년 1월 1일 오전 8:00:00 UTC의 시작 시간으로 인덱서 일정을 구성한다고 가정합니다. 인덱서 실행 시간이 1시간 이상 걸리면 다음과 같은 일이 발생할 수 있습니다.
첫 번째 인덱서 실행이 2024년 1월 1일 오전 8시(UTC)경에 시작됩니다. 이 실행에 20분(또는 1시간 미만의 기간)이 걸리는 것으로 가정합니다.
두 번째 실행은 2024년 1월 1일 오전 9:00 UTC에 시작됩니다. 이 실행은 70분(1시간 이상)이 걸리며 오전 10시 10분(UTC)까지 완료되지 않는다고 가정합니다.
세 번째 실행은 오전 10시(UTC)에 시작하도록 예약되어 있지만, 이전 실행이 계속해서 실행되고 있습니다. 이 경우 예약된 실행을 건너뜁니다. 인덱서의 다음 실행은 오전 11:00 UTC까지 시작되지 않습니다.
유지 관리 중이거나 일시적인 상태에서 복구 중인 경우와 같은 드문 상황에서는 시스템이 여러 인덱서 실행 작업을 대기열에 넣습니다. 이 조건이 발생하면 인덱서는 예약된 창 내에서 보류 중인 워크로드를 순차적으로 실행합니다. 예를 들어 인덱서가 매시간 실행되도록 예약되어 있고 여러 실행이 지연되었거나 수동으로 트리거된 경우, 큐에 쌓인 작업이 모두 처리될 때까지 해당 작업이 연이어 실행됩니다. 이러한 실행은 추가 실행이 아니라 이전에 예약되거나 요청된 실행을 나타냅니다. 대부분의 시나리오에서 이 동작은 드물지만, 인덱서는 결국 일관성과 데이터 새로 고침을 유지하기 위해 대기 중인 모든 작업을 처리하도록 설계되었습니다.
참고
시간이 중요한 엄격한 인덱서 실행 요구 사항이 있는 경우 인덱싱 파이프라인을 직접 제어할 수 있도록 푸시 API 모델을 사용하는 것이 좋습니다.
동일한 문서에서 인덱싱이 반복적으로 실패하면 어떻게 되나요?
인덱서를 특정 일정으로 설정했지만 매번 동일한 문서에서 반복적으로 실패하는 경우 인덱서는 다시 성공적으로 진행될 때까지 덜 빈번한 간격(다른 구현 요인에 따라 2시간 또는 24시간마다 최대 한 번까지)으로 실행되기 시작합니다. 기본 문제를 해결한 것으로 생각되면 인덱서를 수동으로 실행합니다. 인덱싱에 성공하면 인덱서가 일반 일정으로 돌아갑니다. 수동 실행이 성공한 후 인덱서가 일반 일정으로 돌아가지 않는 경우 다음 질문을 참조하세요.
예약된 인덱서가 트리거를 중지했습니다. 일정을 다시 설정하려면 어떻게 해야 하나요?
예약된 인덱서의 실행이 중지되면 해당 인덱서 실행을 사용하지 않도록 설정한 다음 다시 사용하도록 설정하여 일정을 다시 설정합니다. 이 복구가 필요하다는 신호: 일정이 구성되고 데이터 원본이 변경된 경우에도 실행 기록에 새 실행이 나타나지 않습니다.
일정을 일시 중단하도록 disabled 설정합니다true.
false 다시 설정하거나 속성을 생략하면 현재 시간을 구성된 간격의 새 기준선으로 사용하여 일정을 다시 시작합니다.
- Azure Portal에서 검색 서비스로 이동합니다.
- 인덱서를 선택합니다.
- 인덱서를 선택하여 엽니다.
- 설정을 선택합니다.
- 인덱서가 사용 안 함으로 설정됩니다.
- 저장을 선택합니다.
- 인덱서 다시 사용으로 설정합니다.
- 저장을 선택합니다.
- 실행 기록 탭을 선택하고 예약된 다음 간격 내에 새 실행이 표시되는지 확인합니다.
참고
인덱서 다시 사용하도록 설정하면 원래 startTime시간이 아닌 현재 시간을 기준으로 일정이 다시 설정됩니다. 예를 들어 간격이 2시간이고 오후 3시 15분에 다시 사용하도록 설정하는 경우 예약된 다음 실행은 오후 5시 15분 정도입니다.
다음 단계
일정에 따라 실행되는 인덱서의 경우 검색 서비스에서 상태를 검색하여 작업을 모니터링하거나 리소스 로깅을 사용하도록 설정하여 자세한 정보를 가져올 수 있습니다.