Azure AI 검색의 증분 보강 및 캐싱
Important
이 기능은 추가 사용 약관에 따라 공개 미리 보기로 제공됩니다. 미리 보기 REST API는 이 기능을 지원합니다.
증분 보강은 기술 세트 실행 중에 캐시된 보강을 사용하여 신규 및 변경된 기술과 문서에만 Azure AI 서비스에 대한 API 호출에 대한 종량제 처리 요금이 발생함을 의미합니다. 캐시에는 문서 크래킹의 출력과 모든 문서에 대한 각 기술의 출력이 포함됩니다. 캐싱은 청구 가능하지만(Azure Storage 사용) 스토리지 비용이 이미지 추출 및 AI 처리보다 적으므로 전체 보강 비용이 줄어듭니다.
원본 데이터와 인덱스 간의 동기화를 보장하려면 고유한 원본 데이터 변경 및 삭제 추적 필수 조건을 이해해야 합니다. 이 가이드에서는 기술 처리 측면에서 점진적인 수정을 관리하는 방법과 이러한 목적으로 캐시를 활용하는 방법을 구체적으로 설명합니다.
캐싱을 사용하도록 설정하면 인덱서에서 업데이트를 평가하여 캐시에서 기존 보강을 끌어올 수 있는지 여부를 결정합니다. 문서 크래킹 단계의 이미지 및 텍스트 콘텐츠와 편집에 대해 업스트림하거나 직교하는 기술 출력은 다시 사용할 수 있습니다.
기술 세트 처리가 완료되면 새로 고친 결과가 캐시와 검색 인덱스 또는 지식 저장소에 쓰기 저장됩니다.
제한 사항
주의
SharePoint Online 인덱서(미리 보기)를 사용하는 경우 증분 보강을 피해야 합니다. 특정 상황에서 캐시를 다시 로드하도록 선택하면 캐시가 유효하지 않으므로 인덱서가 다시 설정되고 실행해야 합니다.
캐시 구성
물리적으로 캐시는 인덱서당 하나씩 Azure Storage 계정의 Blob 컨테이너에 저장됩니다. 각 인덱서에는 사용하는 컨테이너에 해당하는 고유하고 변경할 수 없는 캐시 식별자가 할당됩니다.
캐시는 "cache" 속성을 지정하고 인덱서를 실행할 때 만들어집니다. 보강된 콘텐츠만 캐시할 수 있습니다. 인덱서에 연결된 기술 세트가 없으면 캐싱이 적용되지 않습니다.
다음 예제에서는 캐싱이 설정된 인덱서를 보여 줍니다. 자세한 내용은 보강 캐싱 사용을 참조하세요.
캐시 속성을 사용하려면 인덱서를 만들거나 업데이트할 때 2020-06-30-preview 이상 버전을 사용하면 됩니다. 최신 미리 보기 API를 사용하는 것이 좋습니다.
POST https://[search service name].search.windows.net/indexers?api-version=2024-05-01-rreview
{
"name": "myIndexerName",
"targetIndexName": "myIndex",
"dataSourceName": "myDatasource",
"skillsetName": "mySkillset",
"cache" : {
"storageConnectionString" : "<Your storage account connection string>",
"enableReprocessing": true
},
"fieldMappings" : [],
"outputFieldMappings": [],
"parameters": []
}
캐시 관리
캐시의 수명 주기는 인덱서에서 관리합니다. 인덱서가 삭제되면 해당 캐시도 삭제됩니다. 인덱서의 cache
속성이 null로 설정되거나 연결 문자열이 변경된 경우 다음 인덱서 실행 시 기존 캐시가 삭제됩니다.
증분 보강은 사용자의 개입 없이 변경 내용을 검색하고 대응하도록 설계되었지만, 특정 동작을 호출하는 데 사용할 수 있는 매개 변수가 있습니다.
새 문서 우선 순위 지정
캐시 속성에는 enableReprocessing
매개 변수가 포함되어 있습니다. 이 매개 변수는 캐시에 이미 표시된 들어오는 문서에 대한 처리를 제어하는 데 사용됩니다. true(기본값)인 경우 기술 업데이트가 해당 문서에 영향을 준다고 가정하여 인덱서를 다시 실행할 때 캐시에 이미 있는 문서가 다시 처리됩니다.
false인 경우 기존 문서가 다시 처리되지 않으므로 기존 콘텐츠보다 새로 들어오는 콘텐츠를 우선적으로 처리하도록 효과적으로 지정됩니다. enableReprocessing은 일시적으로만 false로 설정해야 합니다. 대부분의 경우 enableReprocessing을 true로 설정하면 새 문서와 기존 문서가 모두 현재 기술 세트 정의에 따라 유효합니다.
기술 세트 평가 무시
기술을 수정하고 해당 기술을 다시 처리하는 작업은 일반적으로 동시에 수행됩니다. 그러나 기술에 대한 일부 변경으로 인해 다시 처리가 수행되지 않아야 합니다(예: 사용자 지정 기술을 새 위치에 배포하거나 새 액세스 키를 사용하여 배포). 이러한 변경은 기술 출력 자체의 본질에 진정한 영향을 주지 않는 부수적인 수정일 수 있습니다.
기술에 대한 변경 내용이 실제로 피상적이라는 것을 알고 있는 경우 disableCacheReprocessingChangeDetection
매개 변수를 true로 설정하여 기술 평가를 재정의해야 합니다.
- 업데이트 기술 세트를 호출하고 기술 세트 정의를 수정합니다.
- "disableCacheReprocessingChangeDetection=true" 매개 변수를 요청에 추가합니다.
- 변경 내용을 제출합니다.
이 매개 변수를 설정하면 기술 세트 정의에 대한 업데이트만 커밋되고 변경이 기존 캐시에 미치는 영향에 대해 평가되지 않습니다. 2020-06-30-Preview 미리 보기 API 버전 이상을 사용합니다. 최신 미리 보기 API를 사용하는 것이 좋습니다.
PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2024-05-01-preview&disableCacheReprocessingChangeDetection
데이터 원본 유효성 검사 무시
데이터 원본 정의를 변경하면 대부분의 경우 캐시가 무효화됩니다. 그러나 연결 문자열 변경 또는 스토리지 계정 키 회전과 같이 변경으로 인해 캐시가 무효화되지 않아야 하는 경우에는 데이터 원본 업데이트에 ignoreResetRequirement
매개 변수를 추가합니다. 이 매개 변수를 true로 설정하면 모든 개체가 처음부터 다시 작성되고 채워지는 다시 설정 조건을 트리거하지 않고 커밋을 진행할 수 있습니다.
PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2024-05-01-preview&ignoreResetRequirement
기술 세트 평가 강제 적용
캐시의 목적은 불필요한 처리를 방지하는 것이지만 인덱서가 검색하지 않는 기술(예: 사용자 지정 기술 등의 외부 코드를 변경하는 경우)을 변경한다고 가정해보겠습니다.
이 경우 해당 기술의 출력에 대한 종속성이 있는 다운스트림 기술을 비롯하여 특정 기술에 대한 재처리를 적용하는 데 기술 다시 설정을 사용할 수 있습니다. 이 API는 무효화하고 다시 처리하도록 표시해야 하는 기술 세트의 목록과 함께 POST 요청을 수락합니다. 기술이 다시 설정되면 인덱서 실행 요청에 따라 파이프라인 처리를 호출합니다.
특정 문서 다시 캐시
인덱서를 다시 설정하면 검색 모음의 모든 문서가 다시 처리됩니다.
일부 문서만 다시 처리해야 하는 시나리오에서는 문서 다시 설정(미리 보기)을 사용하여 특정 문서를 강제로 다시 처리합니다. 문서가 다시 설정되면 인덱서에서 해당 문서의 캐시를 무효화한 다음, 데이터 원본에서 읽어 다시 처리합니다. 자세한 내용은 인덱서, 기술 및 문서 실행 또는 다시 설정을 참조하세요.
특정 문서를 다시 설정하기 위해 요청은 검색 인덱스에서 읽은 문서 키 목록을 제공합니다. 키가 외부 데이터 원본의 필드에 매핑되는 경우 제공하는 값은 검색 인덱스에서 사용되는 값이어야 합니다.
API를 호출하는 방법에 따라 요청은 키 목록을 추가하거나 덮어쓰거나 큐에 추가합니다.
각각의 키로 API를 여러 번 호출하면 새로운 키가 문서 키 다시 설정 목록에 추가됩니다.
true로 설정된 "overwrite" 쿼리 문자열 매개 변수를 사용하여 API를 호출하면 다시 설정할 문서 키의 현재 목록을 요청의 페이로드로 덮어씁니다.
API를 호출하면 인덱서가 수행하는 큐에 문서 키만 추가됩니다. 인덱서는 다음에 호출될 때(예약된 대로 또는 요청 시) 데이터 원본에서 다른 변경 내용이 있기 전에 재설정 문서 키를 처리하는 데 우선 순위를 지정합니다.
다음 예제에서는 문서 재설정 요청을 보여 줍니다.
POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2024-05-01-preview
{
"documentKeys" : [
"key1",
"key2",
"key3"
]
}
캐시를 무효화하는 변경 내용
캐시를 사용하도록 설정하면 인덱서가 파이프라인 구성 변경을 평가하여 다시 사용할 수 있는 콘텐츠와 다시 처리해야 하는 콘텐츠를 확인합니다. 이 섹션에서는 캐시를 완전히 무효화하는 변경 내용 및 증분 처리를 트리거하는 변경 내용을 열거합니다.
변경 내용이 무효화되면 전체 캐시가 더 이상 유효하지 않습니다. 변경 내용 무효화의 예로 데이터 원본이 업데이트되는 경우가 있습니다. 캐시를 무효화하는 인덱서 파이프라인의 부분에 대한 변경의 전체 목록은 다음과 같습니다.
- 데이터 원본 유형 변경
- 데이터 원본 컨테이너 변경
- 데이터 원본 자격 증명 변경
- 데이터 원본 변경 검색 정책 변경
- 데이터 원본 삭제 검색 정책 변경
- 인덱서 필드 매핑 변경
- 인덱서 매개 변수 변경:
- 구문 분석 모드
- 제외된 파일 이름 확장명
- 인덱싱된 파일 이름 확장명
- 대용량 문서에 대한 스토리지 메타데이터만 인덱싱
- 구분 기호로 분리된 텍스트 헤더
- 구분 기호로 분리된 텍스트 구분 기호
- 문서 루트
- 이미지 작업(이미지를 추출하는 방법에 대한 변경)
증분 처리를 트리거하는 변경 내용
증분 처리는 기술 세트 정의를 평가하고 문서 트리에서 영향을 받는 부분을 선택적으로 업데이트하여 다시 실행할 기술을 결정합니다. 다음은 증분 보강이 발생하는 변경 내용의 전체 목록입니다.
- 기술 유형 변경(기술의 OData 유형이 업데이트됨)
- 기술 관련 매개 변수(예: URL, 기본값 또는 기타 매개 변수)가 업데이트됨
- 기술 출력이 변경되고, 기술에서 추가 출력 또는 다른 출력을 반환함
- 기술 입력 변경으로 인해 상위 구조가 달라지고, 기술 체인이 변경됨
- 이 기술에 대한 입력을 제공하는 기술이 업데이트되면 업스트림 기술이 무효화됩니다.
- 지식 저장소 프로젝션 위치 업데이트로 인해 문서가 다시 프로젝션됨
- 지식 저장소 프로젝션 변경으로 인해 문서가 다시 프로젝션됨
- 인덱서에서 변경된 출력 필드 매핑으로 인해 문서가 인덱스로 다시 프로젝션됨
캐싱에 사용되는 API
REST API 버전 2020-06-30-Preview
이상은 인덱서의 추가 속성을 통해 증분 보강을 제공합니다. 최신 미리 보기 API를 사용하는 것이 좋습니다.
기술 세트 및 데이터 원본은 일반 공급 버전을 사용할 수 있습니다. 작업 순서에 대한 자세한 내용은 참조 설명서 외에도 증분 보강에 대한 캐싱 구성을 참조하세요.
기술 세트 만들기 또는 업데이트(api-version=2024-07-01)(요청의 새 URI 매개 변수)
데이터 원본 만들기 또는 업데이트(api-version=2024-07-01), 미리 보기 API 버전으로 호출할 때 "ignoreResetRequirement"라는 새 매개 변수를 제공합니다. 이 매개 변수는 업데이트 작업으로 인해 캐시가 무효화되어서는 안 되는 경우 true로 설정해야 합니다. 데이터에서 쉽게 검색되지 않는 의도치 않은 불일치가 발생할 수 있으므로 "ignoreResetRequirement"는 신중하게 사용하세요.
다음 단계
증분 보강은 변경 내용 추적을 기술 세트 및 AI 보강으로 확장하는 강력한 기능입니다. 증분 보강을 사용하면 기술 세트 디자인을 반복하면서 처리된 기존 콘텐츠를 다시 사용할 수 있습니다. 다음 단계로 인덱서에서 캐싱을 사용하도록 설정합니다.