Azure AI Search의 증분 보강 및 캐싱

Important

이 기능은 추가 사용 약관에 따라 공개 미리 보기로 제공됩니다. 미리 보기 REST API이 기능을 지원합니다.

증분 보강은 기술 세트 실행 중에 캐시된 보강을 사용하여 새 기술과 변경된 기술 및 문서만 Azure AI 서비스에 대한 API 호출에 대한 종량제 처리 요금을 발생시키는 것을 의미합니다. 캐시에는 문서 크래킹의 출력과 모든 문서에 대한 각 기술의 출력이 포함됩니다. 캐싱은 청구 가능하지만(Azure Storage 사용) 스토리지 비용이 이미지 추출 및 AI 처리보다 적으므로 전체 보강 비용이 줄어듭니다.

캐싱을 사용하도록 설정하면 인덱서에서 업데이트를 평가하여 캐시에서 기존 보강을 끌어올 수 있는지 여부를 결정합니다. 문서 크래킹 단계의 이미지 및 텍스트 콘텐츠와 편집에 대해 업스트림하거나 직교하는 기술 출력은 다시 사용할 수 있습니다.

기술 세트 처리가 완료되면 새로 고친 결과가 캐시 및 검색 인덱스 또는 지식 저장소에 다시 기록됩니다.

제한 사항

주의

SharePoint Online 인덱서(미리 보기)를 사용하는 경우 증분 보강을 피해야 합니다. 특정 상황에서 캐시를 다시 로드하도록 선택할 경우 인덱서 재설정 및 실행이 필요한 캐시가 잘못됩니다.

캐시 구성

물리적으로 캐시는 인덱서당 하나씩 Azure Storage 계정의 Blob 컨테이너에 저장됩니다. 각 인덱서에는 사용 중인 컨테이너에 해당하는 고유하고 변경할 수 없는 캐시 식별자가 할당됩니다.

캐시는 "cache" 속성을 지정하고 인덱서를 실행할 때 만들어집니다. 보강된 콘텐츠만 캐시할 수 있습니다. 인덱서에 연결된 기술 세트가 없으면 캐싱이 적용되지 않습니다.

다음 예제에서는 캐싱을 사용하도록 설정된 인덱서에 대해 설명합니다. 자세한 내용은 보강 캐싱 사용을 참조하세요. 캐시 속성을 추가할 때 요청에 대해 미리 보기 API 버전인 2020-06-30-Preview 이상을 사용합니다.

POST https://[search service name].search.windows.net/indexers?api-version=2020-06-30-Preview
    {
        "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로 설정하면 새 문서와 기존 문서가 모두 현재 기술 세트 정의에 따라 유효합니다.

기술 세트 평가 무시

기술을 수정하고 해당 기술을 다시 처리하는 작업은 일반적으로 동시에 수행됩니다. 그러나 기술에 대한 일부 변경으로 인해 재처리(예: 사용자 지정 기술을 새 위치 또는 새 액세스 키로 배포)해서는 안 됩니다. 이러한 변경은 기술 출력 자체의 본질에 진정한 영향을 주지 않는 부수적인 수정일 수 있습니다.

기술 변경이 실제로 피상적이라는 것을 알고 있는 경우 매개 변수를 true로 설정하여 기술 평가를 재정의 disableCacheReprocessingChangeDetection 해야 합니다.

  1. 업데이트 기술 세트를 호출하고 기술 세트 정의를 수정합니다.
  2. "disableCacheReprocessingChangeDetection=true" 매개 변수를 요청에 추가합니다.
  3. 변경 내용을 제출합니다.

이 매개 변수를 설정하면 기술 세트 정의에 대한 업데이트만 커밋되고 변경이 기존 캐시에 미치는 영향에 대해 평가되지 않습니다. 2020-06-30-Preview 미리 보기 API 버전 이상을 사용합니다.

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=2020-06-30-Preview&disableCacheReprocessingChangeDetection
  

데이터 원본 유효성 검사 검사 무시

데이터 원본 정의에 대한 대부분의 변경 내용은 캐시를 무효화합니다. 그러나 변경이 캐시를 무효화해서는 안 된다는 것을 알고 있는 시나리오의 경우(예: 연결 문자열 변경하거나 스토리지 계정에서 키를 회전하는 경우) 데이터 원본 업데이트에 매개 변수를 추가 ignoreResetRequirement 합니다. 이 매개 변수를 true로 설정하면 모든 개체가 처음부터 다시 작성되고 채워지는 다시 설정 조건을 트리거하지 않고 커밋을 진행할 수 있습니다.

PUT https://[search service].search.windows.net/datasources/[data source name]?api-version=2020-06-30-Preview&ignoreResetRequirement
 

기술 세트 평가 강제 적용

캐시의 목적은 불필요한 처리를 방지하는 것이지만, 인덱서가 검색하지 않는 기술을 변경한다고 가정합니다(예: 사용자 지정 기술과 같은 외부 코드에서 변경).

이 경우 초기화 기술을 사용하여 해당 기술의 출력에 종속된 다운스트림 기술을 포함하여 특정 기술을 강제로 다시 처리할 수 있습니다. 이 API는 무효화되고 재처리용으로 표시되어야 하는 기술 목록이 포함된 POST 요청을 수락합니다. 기술이 다시 설정되면 인덱서 실행 요청에 따라 파이프라인 처리를 호출합니다.

특정 문서 다시 캐시

인덱서를 다시 설정하면 검색 모음의 모든 문서가 다시 처리됩니다. 일부 문서만 다시 처리해야 하는 시나리오에서는 문서 다시 설정(미리 보기)을 사용하여 특정 문서를 강제로 다시 처리합니다. 문서가 다시 설정되면 인덱서에서 해당 문서의 캐시를 무효화한 다음, 데이터 원본에서 읽어 다시 처리합니다. 자세한 내용은 인덱서, 기술 및 문서 실행 또는 다시 설정을 참조하세요.

특정 문서를 다시 설정하기 위해 요청은 검색 인덱스에서 읽은 문서 키 목록을 제공합니다. 키가 외부 데이터 원본의 필드에 매핑되는 경우 제공하는 값은 검색 인덱스에서 사용되는 값이어야 합니다.

API를 호출하는 방법에 따라 요청은 키 목록을 추가, 덮어쓰거나 큐에 대기합니다.

  • 각각의 키로 API를 여러 번 호출하면 새로운 키가 문서 키 다시 설정 목록에 추가됩니다.

  • true로 설정된 "overwrite" 쿼리 문자열 매개 변수를 사용하여 API를 호출하면 다시 설정할 문서 키의 현재 목록을 요청의 페이로드로 덮어씁니다.

  • API를 호출하면 인덱서가 수행하는 큐에 문서 키만 추가됩니다. 인덱서가 예약된 대로 또는 요청 시 다음에 호출되면 데이터 원본에서 다른 변경 내용이 변경되기 전에 다시 설정 문서 키 처리의 우선 순위를 지정합니다.

다음 예제에서는 문서 다시 설정 요청을 보여 줍니다.

POST https://[search service name].search.windows.net/indexers/[indexer name]/resetdocs?api-version=2020-06-30-Preview
    {
        "documentKeys" : [
            "key1",
            "key2",
            "key3"
        ]
    }

캐시를 무효화하는 변경 내용

캐시를 사용하도록 설정하면 인덱서가 파이프라인 구성 변경을 평가하여 다시 사용할 수 있는 콘텐츠와 다시 처리해야 하는 콘텐츠를 확인합니다. 이 섹션에서는 캐시를 완전히 무효화하는 변경 내용 및 증분 처리를 트리거하는 변경 내용을 열거합니다.

변경 내용이 무효화되면 전체 캐시가 더 이상 유효하지 않습니다. 무효화 변경의 예는 데이터 원본이 업데이트되는 위치입니다. 다음은 캐시를 무효화하는 인덱서 파이프라인의 모든 부분에 대한 변경 내용의 전체 목록입니다.

  • 데이터 원본 유형 변경
  • 데이터 원본 컨테이너 변경
  • 데이터 원본 자격 증명 변경
  • 데이터 원본 변경 검색 정책 변경
  • 데이터 원본 삭제 검색 정책 변경
  • 인덱서 필드 매핑 변경
  • 인덱서 매개 변수 변경:
    • 구문 분석 모드
    • 제외된 파일 이름 확장명
    • 인덱싱된 파일 이름 확장명
    • 대용량 문서에 대한 스토리지 메타데이터만 인덱싱
    • 구분 기호로 분리된 텍스트 헤더
    • 구분 기호로 구분된 텍스트 구분 기호
    • 문서 루트
    • 이미지 작업(이미지 추출 방법 변경)

증분 처리를 트리거하는 변경 내용

증분 처리는 기술 세트 정의를 평가하고 문서 트리에서 영향을 받는 부분을 선택적으로 업데이트하여 다시 실행할 기술을 결정합니다. 다음은 증분 보강을 초래하는 변경 내용의 전체 목록입니다.

  • 기술 유형 변경(기술의 OData 유형이 업데이트됨)
  • 기술 관련 매개 변수(예: URL, 기본값 또는 기타 매개 변수)가 업데이트됨
  • 기술 출력이 변경되고, 기술에서 추가 출력 또는 다른 출력을 반환함
  • 기술 입력 변경으로 인해 상위 구조가 달라지고, 기술 체인이 변경됨
  • 이 기술에 대한 입력을 제공하는 기술이 업데이트된 경우 업스트림 기술 무효화
  • 지식 저장소 프로젝션 위치 업데이트로 인해 문서가 다시 프로젝션됨
  • 지식 저장소 프로젝션 변경으로 인해 문서가 다시 프로젝션됨
  • 인덱서에서 변경된 출력 필드 매핑으로 인해 문서가 인덱스로 다시 프로젝션됨

캐싱에 사용되는 API

2020-06-30-Preview REST API 버전 이상에서는 인덱서의 추가 속성을 통해 증분 보강을 제공합니다. 기술 세트 및 데이터 원본은 일반 공급 버전을 사용할 수 있습니다. 작업 순서에 대한 자세한 내용은 참조 설명서 외에도 증분 보강에 대한 캐싱 구성을 참조하세요.

다음 단계

증분 보강은 변경 내용 추적을 기술 세트 및 AI 보강으로 확장하는 강력한 기능입니다. 증분 보강을 사용하면 기술 세트 디자인을 반복할 때 기존 처리된 콘텐츠를 다시 사용할 수 있습니다. 다음 단계로 인덱서에서 캐싱을 사용하도록 설정합니다.