인덱서 만들기 또는 업데이트(미리 보기 REST API)

적용 대상: 2023-07-01-Preview, 2021-04-30-Preview, 2020-06-30-Preview

중요

2023-07-01-Preview(변경 내용 없음).

2021-04-30-Preview는 보강 캐시 및 암호화 키에 대한 관리 ID 지원을 추가합니다.

  • "storageConnectionString" 은 Azure Storage에 대한 시스템 할당 관리 ID 연결에 대한 리소스 ID를 허용합니다. 이 속성은 "캐시" 아래에 있습니다. 사용자가 할당한 관리 ID는 지원되지 않습니다.
  • "ID" 는 사용자가 할당한 관리 ID를 허용합니다.

2020-06-30-Preview는 다음을 추가합니다.

인덱서는 미리 정의된 데이터 원본에 연결하고, 데이터를 검색 및 직렬화하고, 데이터 수집을 위해 검색 서비스에 전달하여 지원되는 데이터 원본에서 인덱싱을 자동화합니다. 이미지 및 구조화되지 않은 텍스트의 AI 보강을 위해 인덱서는 이미지 및 자연어 처리를 추가하는 기술 세트를 수락할 수도 있습니다.

만들기 요청에 POST 또는 PUT을 사용할 수 있습니다. 둘 중 하나에 대해 요청 본문은 개체 정의를 제공합니다.

POST https://[service name].search.windows.net/indexers?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]  

업데이트 요청의 경우 PUT을 사용하고 URI에 인덱서 이름을 지정합니다.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=[api-version]
    Content-Type: application/json  
    api-key: [admin key]    

모든 서비스 요청에는 HTTPS를 사용해야 합니다. 인덱서가 없으면 생성됩니다. 이미 있는 경우 새 정의로 업데이트되지만 인덱서 실행을 원하는 경우 인덱서 실행 요청을 실행해야 합니다.

인덱서 만들기는 검색 서비스에 인덱서가 추가되고 실행됩니다. 요청이 성공하면 인덱스가 데이터 원본에서 검색 가능한 콘텐츠로 채워집니다.

인덱서 업데이트는 자동으로 실행되지 않지만 수정 사항 및 연결된 데이터 원본에 따라 다시 설정 및 다시 실행이 필요할 수 있습니다. 기존 인덱서가 업데이트되면 전체 정의가 요청 본문의 내용으로 바뀝니다. 일반적으로 업데이트에 사용할 가장 좋은 패턴은 GET을 사용하여 인덱서 정의를 검색하고 수정한 다음 PUT으로 업데이트하는 것입니다.

인덱서 구성은 데이터 원본 유형에 따라 달라집니다. 인덱서를 만드는 방법에 대한 데이터 플랫폼 특정 지침을 보려면 관련 문서의 전체 목록을 포함하는 인덱서 개요에서 시작하세요.

참고

만들 수 있는 인덱서의 최대 수는 가격 책정 계층에 따라 다릅니다. 자세한 내용은 Azure AI Search에 대한 서비스 제한을 참조하세요.

URI 매개 변수

매개 변수 Description
서비스 이름 필수 사항입니다. 검색 서비스의 고유한 사용자 정의 이름으로 설정합니다.
인덱서 이름 PUT을 사용하는 경우 URI에 필요합니다. 이름은 소문자여야 하고, 문자 또는 숫자로 시작하고, 슬래시나 점이 없고, 128자 미만이어야 합니다. 문자 또는 숫자로 이름을 시작한 후 대시가 연속되지 않는 한 나머지 이름에는 문자, 숫자 및 대시가 포함될 수 있습니다.
api-version 필수 사항입니다. 현재 미리 보기 버전은 입니다 2023-07-01-Preview. 더 많은 버전은 API 버전을 참조하세요.

요청 헤더

다음 표에서는 필수 요청 헤더와 선택적 요청 헤더에 대해 설명합니다.

필드 Description
콘텐츠 형식 필수 사항입니다. application/json
api-key Azure 역할을 사용하고 요청에 전달자 토큰이 제공된 경우 선택 사항이며, 그렇지 않으면 키가 필요합니다. api-key는 검색 서비스에 대한 요청을 인증하는 고유한 시스템 생성 문자열입니다. 만들기 요청에는 쿼리 키가 아닌 관리자 키로 설정된 헤더가 포함되어 api-key 야 합니다. 자세한 내용은 키 인증을 사용하여 Azure AI Search에 연결을 참조하세요.

요청 본문

데이터 원본, 인덱스기술 집합인덱서 정의의 일부이지만 각각 다른 조합으로 사용될 수 있는 독립적인 구성 요소입니다. 예를 들어, 여러 인덱서에서 동일한 데이터 원본을 사용하거나, 여러 인덱서에서 동일한 인덱스를 사용하거나, 여러 인덱서를 단일 인덱스로 작성할 수 있습니다.

다음 JSON은 정의의 기본 부분에 대한 개략적인 표현입니다.

{   
    "name" : (optional on PUT; required on POST) "Name of the indexer",  
    "description" : (optional) "Anything you want, or nothing at all", 
    "dataSourceName" : (required) "Name of an existing data source",  
    "targetIndexName" : (required) "Name of an existing index",  
    "skillsetName" : (required for AI enrichment) "Name of an existing skillset",
    "cache":  { ... },
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) {
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration": { }
    },
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

요청에는 다음 속성이 포함됩니다.

속성 Description
name 필수 사항입니다. 이름은 소문자여야 하고, 문자 또는 숫자로 시작하고, 슬래시나 점이 없고, 128자 미만이어야 합니다. 문자 또는 숫자로 이름을 시작한 후 대시가 연속되지 않는 한 나머지 이름에는 문자, 숫자 및 대시가 포함될 수 있습니다.
description (선택 사항) 인덱서에 대한 설명입니다.
dataSourceName 필수 사항입니다. 연결 정보 및 기타 속성을 제공하는 기존 데이터 원본의 이름입니다.
targetIndexName 필수 사항입니다. 기존 인덱스의 이름입니다.
skillsetName AI 보강에 필요합니다. 기존 기술 세트의 이름입니다.
캐시 AI 보강을 위한 선택 사항으로 변경되지 않은 문서를 다시 사용할 수 있습니다.
schedule 선택 사항이지만 지정되지 않은 경우 즉시 한 번 실행됩니다.
parameters (선택 사항) 런타임 동작을 수정하기 위한 속성입니다.
fieldMappings 선택 사항입니다. 원본 필드와 대상 필드의 이름이 다를 때 사용됩니다.
outputFieldMappings AI 보강에 필요합니다. 기술 세트의 출력을 인덱스 또는 프로젝션에 매핑합니다.
encryptionKey 선택 사항입니다. Azure Key Vault 관리되는 자체 키를 사용하여 미사용 인덱서 데이터를 암호화하는 데 사용됩니다. 자세한 내용은 Azure Key Vault 고객 관리형 키를 사용하여 Azure AI Search 암호화를 참조하세요.
disabled 선택 사항입니다. 인덱서가 비활성화되었는지 여부를 나타내는 부울 값입니다. False(기본값).

응답

요청이 성공적으로 실행되면 '201 생성됨'이 반환됩니다.

예제

예: 일정 및 매개 변수가 있는 텍스트 기반 인덱서

이 예제에서는 2022년 1월 1일 UTC에서 시작하여 매시간 실행되는 일정에 따라 데이터 원본에서 참조 order-sds 하는 테이블의 orders-idx 데이터를 인덱스로 복사하는 인덱서를 만듭니다. 각 일괄 처리에서 인덱싱에 실패하는 항목이 5개 이하이며 인덱싱에 실패하는 총 항목 수가 10개 이하이면 각 인덱서 호출은 성공합니다. 필드 매핑은 필드 이름 및 형식이 일치하지 않는 경우 데이터 경로를 제공합니다.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "orders-ds",  
    "targetIndexName" : "orders-idx", 
    "fieldMappings" : [
      {
          "sourceFieldName" : "content",
          "targetFieldName" : "sourceContent"
      }
    ], 
    "schedule" : { "interval" : "PT1H", "startTime" : "2022-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

예: Skillset 인덱서

이 예제에서는 기술 세트 및 outputFieldMappings 에 대한 참조로 표시된 AI 보강을 보여 줍니다. 기술 출력을 검색 인덱스의 필드에 매핑하는FieldMappings입니다. 기술 집합은 별도로 정의되는 상위 수준의 리소스입니다.

이 미리 보기의 새로운 기능과 기술 세트에만 적용할 수 있는 캐시 속성을 지정하여 기술 세트 정의의 변경 내용에 영향을 받지 않는 문서를 다시 사용할 수 있습니다.

{
  "name":"demo-indexer",	
  "dataSourceName" : "demo-data",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "DefaultEndpointsProtocol=https;AccountName=<storage-account-name>;AccountKey=<storage-account-key>;EndpointSuffix=core.windows.net",
      "enableReprocessing": true
    },
  "fieldMappings" : [ ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
  	"maxFailedItems":-1,
  	"configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

예: 관리 ID 연결이 있는 보강 캐시

이 예제에서는 인증에 Azure Active Directory를 사용할 때의 연결 문자열 형식을 보여 줍니다. 관리 ID를 사용하도록 검색 서비스를 구성해야 합니다. ID는 캐시에 쓸 수 있도록 "Storage Blob 데이터 기여자" 권한이 있어야 합니다. 연결 문자열 스토리지 계정의 고유한 리소스 ID이며 캐시된 보강을 저장하는 데 사용되는 컨테이너를 포함해야 합니다.

{
  "name":"demo-indexer",
  "dataSourceName" : "demodata-ds",
  "targetIndexName" : "demo-index",
  "skillsetName" : "demo-skillset",
  "cache" : 
    {
      "storageConnectionString" : "ResourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/<container-name>;",
      "enableReprocessing": true
    },
  "fieldMappings" : [  ],
  "outputFieldMappings" :  [  ],
  "parameters": {  }
}

정의

링크 Description
캐시 AI 보강 및 기술 세트 실행을 위한 캐싱을 구성합니다.
encryptionKey 고객 관리형 암호화를 위해 Azure Key Vault 대한 연결을 구성합니다.
fieldMappings 이름 및 형식별로 일치하지 않는 필드에 대한 원본-대상 필드 매핑입니다.
outputFieldMappings 보강된 문서의 노드를 인덱스의 필드에 매핑합니다. 기술 세트를 사용하는 경우 필요합니다.
parameters 인덱서 구성 매개 변수에는 일반 매개 변수 및 원본별 매개 변수가 포함됩니다.
schedule 예약된 인덱서 실행의 간격 및 빈도를 지정합니다.

cache(미리 보기)

증분 인덱싱 은 기술 세트를 처리할 때 캐시에서 보강된 문서를 다시 사용하는 기능입니다. 가장 일반적인 시나리오는 OCR 또는 이미지 파일의 이미지 분석을 다시 사용하는 것이며, 이는 처리하는 데 비용이 많이 들고 시간이 오래 걸릴 수 있습니다.

"cache" : 
  {
    "storageConnectionString" : "<YOUR-STORAGE-ACCOUNT-CONNECTION-STRING>",
    "enableReprocessing": true
  }

캐시 개체에는 필수 및 선택적 속성이 있습니다.

속성 Description
storageConnectionString 필수 사항입니다. 중간 결과를 캐시하는 데 사용되는 스토리지 계정을 지정합니다. 사용자가 제공한 계정을 사용하여 검색 서비스는 접두사로 ms-az-search-indexercache 접두사를 지정하고 인덱서에 고유한 GUID로 완료된 Blob 컨테이너를 만듭니다. 키를 포함하는 전체 액세스 연결 문자열 또는 Azure AD 사용하여 인증된 요청에 대한 스토리지 계정의 고유 리소스 ID로 설정해야 합니다.

Azure AD 통해 인증하려면 관리 ID를 사용하도록 검색 서비스를 구성해야 하며 해당 ID에는 "Storage Blob 데이터 기여자" 권한이 있어야 합니다.
enableReprocessing 선택 사항입니다. 캐시에 이미 표시된 들어오는 문서에 대한 처리를 제어하는 부울 속성(true 기본적으로)입니다. true (기본값)이면 기술 업데이트가 해당 문서에 영향을 미친다는 가정으로 인덱서를 다시 실행할 때 캐시에 이미 있는 문서가 다시 처리됩니다. 인 경우 false기존 문서가 다시 처리되지 않고 기존 콘텐츠보다 들어오는 새 콘텐츠의 우선 순위를 효과적으로 지정합니다. enableReprocessing은 일시적으로만 false로 설정해야 합니다. 모음에서 일관성을 유지하려면 대부분의 경우에 enableReprocessingtrue로 설정하여 신규 문서와 기존 문서 모두 현재 기술 세트 정의에 따라 유효하도록 해야 합니다.
ID 읽기 전용입니다. 캐시가 만들어지면 생성됩니다. 는 ID 이 인덱서의 캐시로 사용될 스토리지 계정 내 컨테이너의 식별자입니다. 이 캐시는 이 인덱서에서만 고유하며, 인덱서를 삭제하고 동일한 이름으로 다시 만들면 ID가 다시 생성됩니다. 는 ID 설정할 수 없으며 항상 서비스에서 생성됩니다.

schedule

인덱서는 선택적으로 일정을 지정할 수 있습니다. 일정이 없으면 데이터 원본 연결, 탐색 및 인덱싱과 같은 요청을 보내는 즉시 인덱서가 실행됩니다. 장기 실행 인덱싱 작업을 포함하는 일부 시나리오의 경우 일정은 최대값인 24시간을 넘어 처리 기간을 확장하는 데 사용됩니다. 일정이 있을 경우, 인덱서가 일정에 따라 주기적으로 실행됩니다. 스케줄러가 기본 제공되었습니다. 외부 스케줄러는 사용할 수 없습니다. Schedule에는 다음과 같은 특성이 있습니다.

  • 간격: 필수입니다. 인덱서 실행 간격 또는 기간을 지정하는 기간 값입니다. 허용되는 가장 작은 간격은 5분이고 가장 긴 간격은 1일입니다. 형식은 XSD "dayTimeDuration" 값( ISO 8601 기간 값의 제한된 하위 집합)이어야 합니다. 이에 대한 패턴은 예: "P[nD][T[nH][nM]]".PT15M 15분마다, PT2H 2시간마다.

  • StartTime - 선택 사항입니다. 인덱서 실행을 시작해야 하는 UTC 날짜/시간입니다.

참고

인덱서가 특정 일정으로 설정되어 있지만 실행될 때마다 같은 문서를 반복적으로 실패하는 경우 인덱서는 성공적으로 다시 진행될 때까지 빈도가 낮은 간격(최대 24시간마다 한 번 이상)으로 실행을 시작합니다. 인덱서가 특정 지점에서 고착되는 문제를 해결한 것으로 판단되는 경우 인덱서의 요청 시 실행을 수행할 수 있으며, 성공적으로 진행되면 인덱서는 설정된 일정 간격으로 다시 돌아갑니다.

매개 변수

필요한 경우 런타임 동작을 수정하는 구성 매개 변수를 인덱서에 적용할 수 있습니다. 구성 매개 변수는 인덱서 요청에서 쉼표로 구분됩니다.

{
  "name" : "my-blob-indexer-for-cognitive-search",
  ... other indexer properties
  "parameters" : { 
        "batchSize": null,
        "maxFailedItems": 0,
        "maxFailedItemsPerBatch": 0,
        "base64EncodeKeys": null,
        "configuration" : { 
            "parsingMode" : "json", 
            "indexedFileNameExtensions" : ".json, .jpg, .png", 
            "imageAction" : "generateNormalizedImages", 
            "dataToExtract" : "contentAndMetadata" } }
}

모든 인덱서에 대한 일반 매개 변수

매개 변수 형식 및 허용되는 값 사용량
"batchSize" 정수
기본값은 원본별로 결정됩니다(Azure SQL Database 및 Azure Cosmos DB의 경우 1000, Azure Blob Storage의 경우 10)
성능을 향상시키기 위해 단일 배치로 인덱싱되고 데이터 원본에서 읽는 항목 수를 지정합니다.
"maxFailedItems" 정수
기본값은 0입니다.
인덱서 실행이 실패로 간주되기 전에 허용할 오류 횟수입니다. 모든 오류에 대해 인덱싱 프로세스를 중지하지 않으려면 -1로 설정합니다. 인덱서 상태 가져오기를 사용하여 실패한 항목에 대한 정보를 가져올 수 있습니다.
"maxFailedItemsPerBatch" 정수
기본값은 0입니다.
인덱서 실행이 실패로 간주되기 전에 각 일괄 처리에서 허용할 오류 횟수입니다. 모든 오류에 대해 인덱싱 프로세스를 중지하지 않으려면 -1로 설정합니다.
"base64EncodeKeys" 부울
기본값은 true입니다.
유효한 값은 null, true 또는 false입니다. false로 설정하면 인덱서는 문서 키로 지정된 필드의 값을 base64로 자동으로 인코딩하지 않습니다. 이 속성을 설정하면 base64가 문서 키에서 유효하지 않은 키 값(예: 대시)을 인코딩하는 매핑 함수를 지정할 필요가 없습니다.

Blob 구성 매개 변수

몇 가지 매개 변수는 Azure blob 인덱싱과 같은 특정 인덱서에만 사용됩니다.

매개 변수 형식 및 허용되는 값 사용량
"parsingMode" String
"text"
"delimitedText"
"json"
"jsonArray"
"jsonLines"
Azure blob의 경우 Blob Storage의 일반 텍스트 파일에 대한 인덱싱 성능을 향상시키기 위해 text로 설정합니다.
CSV blob의 경우 blob이 일반 CSV 파일이면 delimitedText로 설정합니다.
JSON Blob의 경우 를 로 json 설정하여 구조화된 콘텐츠를 추출하거나 을 jsonArray 로 설정하여 배열의 개별 요소를 Azure AI Search에서 별도의 문서로 추출합니다. 를 사용하여 jsonLines Azure AI Search에서 개별 문서로 새 줄로 구분된 개별 JSON 엔터티를 추출합니다.
"excludedFileNameExtensions" String
쉼표로 구분된 목록
사용자 정의
Azure blob의 경우 목록에 있는 모든 파일 형식을 무시합니다. 예를 들어, ".png, .png, .mp4"를 제외하여 인덱싱하는 동안 이러한 파일을 건너뛸 수 있습니다.
"indexedFileNameExtensions" String
쉼표로 구분된 목록
사용자 정의
Azure blob의 경우 파일 확장명이 목록에 있으면 blob을 선택합니다. 예를 들어, 특정 애플리케이션 파일 ".docx, .pptx, .msg"의 인덱싱에 집중하여 이러한 파일 형식을 특별히 포함할 수 있습니다.
"failOnUnsupportedContentType" 부울
true
false(기본값)
Azure blob의 경우 일부 콘텐츠 형식(파일 확장명)을 사전에 알지 못하고 지원되지 않는 콘텐츠 형식이 발견되었을 때 인덱싱을 계속하려면 false로 설정합니다.
"failOnUnprocessableDocument" 부울
true
false(기본값)
Azure blob의 경우 문서 인덱싱에 실패했을 때 인덱싱을 계속하려면 false로 설정합니다.
"indexStorageMetadataOnly
ForOversizedDocuments"
부울 true
false(기본값)
Azure blob의 경우 여전히 너무 커서 처리할 수 없는 blob 콘텐츠에 대한 스토리지 메타데이터를 계속 인덱싱하려면 이 속성을 true로 설정합니다. 너무 큰 Blob은 기본적으로 오류로 처리됩니다. Blob 크기에 대한 제한은 서비스 제한을 참조하세요.
"delimitedTextHeaders" String
쉼표로 구분된 목록
사용자 정의
CSV Blob의 경우 는 원본 필드를 인덱스의 대상 필드에 매핑하는 데 유용한 쉼표로 구분된 열 머리글 목록을 지정합니다.
"delimitedTextDelimiter" String
단일 문자
사용자 정의
CSV Blob의 경우 각 줄이 새 문서를 시작하는 CSV 파일의 줄 끝 구분 기호를 지정합니다(예"|": ).
"firstLineContainsHeaders" 부울
true(기본값)
false
CSV Blob의 경우 는 각 Blob의 첫 번째(비어 있지 않은) 줄에 헤더가 포함되어 있음을 나타냅니다.
"documentRoot" String
사용자 정의 경로
JSON 배열의 경우 구조화된 문서 또는 반구조화된 문서가 제공되면 이 속성을 사용하여 배열의 경로를 지정할 수 있습니다.
"dataToExtract" String
"storageMetadata"
"allMetadata"
"contentAndMetadata"(기본값)
Azure blob의 경우:
표준 blob 속성 및 사용자 지정 메타데이터만 인덱싱하려면 "storageMetadata"로 설정합니다.
Azure Blob Storage 하위 시스템에서 제공하는 메타데이터를 추출하려면 "allMetadata"로 설정합니다. 그러면 콘텐츠 형식별 메타데이터(예: .png 파일에 고유한 메타데이터)가 인덱싱됩니다.
각 blob에서 모든 메타데이터 및 텍스트 콘텐츠를 추출하려면 "contentAndMetadata"로 설정합니다.

AI 보강에서 이미지 분석의 경우 가 이 아닌 "none""dataToExtract" 값으로 설정된 경우 "imageAction" 설정은 인덱서에 이미지 콘텐츠에서 추출할 데이터를 알려줍니다. Azure blob에서 .PDF 또는 다른 애플리케이션이나 이미지 파일(예: .jpg 및 .png)의 포함된 이미지 콘텐츠에 적용됩니다.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Azure blob의 경우 데이터 집합에서 포함된 이미지나 이미지 파일을 무시하려면 "none"으로 설정합니다. 이것이 기본값입니다.

AI 보강의 이미지 분석의 경우 를 로"generateNormalizedImages" 설정하여 이미지에서 텍스트를 추출하고(예: 트래픽 중지 기호에서 "stop" 단어) 콘텐츠 필드의 일부로 포함합니다. 이미지를 분석하는 동안 인덱서는 문서 해독의 일환으로 정규화된 이미지의 배열을 만들고 생성된 정보를 콘텐츠 필드에 포함합니다. 이 작업을 수행하려면 "dataToExtract""contentAndMetadata"로 설정해야 합니다. 정규화된 이미지는 시각적 검색 결과에 이미지를 포함할 때 일관된 렌더링을 위해 크기 및 회전이 지정되어 균일한 이미지를 출력하는 추가 처리를 의미합니다(예: JFK 데모에서 볼 수 있는 그래프 컨트롤의 동일 크기 사진). 이 옵션을 사용할 때 각 이미지에 대해 해당 정보가 생성됩니다.

"generateNormalizedImagePerPage"로 설정하면 포함된 이미지를 추출하는 대신 PDF 파일이 다른 방식으로 처리되며, 각 페이지는 이미지로 렌더링되고 그에 따라 정규화됩니다. PDF가 아닌 파일 형식은 "generateNormalizedImages"가 설정된 것과 마찬가지로 처리됩니다.

구성을 "imageAction" 이외의 "none" 값으로 설정하려면 기술 세트 도 해당 인덱서에 연결해야 합니다.
"normalizedImageMaxWidth"
"normalizedImageMaxHeight"
50~10,000 사이의 정수 이 설정될 때 "imageAction" 생성된 정규화된 이미지의 최대 너비 또는 높이(픽셀 단위)입니다. 기본값은 2000입니다.

정규화된 이미지의 최대 너비와 높이에 대한 2000 픽셀이라는 기본값은 OCR 기술이미지 분석 기술에서 지원하는 최대 크기에 기반합니다. OCR 기술은 영어가 아닌 언어의 경우 4200, 영어의 경우 10000의 최대 너비 및 높이를 지원합니다. 최대 한도를 늘리면 기술 세트 정의 및 문서의 언어에 따라 큰 이미지 처리에 실패할 수 있습니다.
"allowSkillsetToReadFileData" 부울
true
false(기본값)
매개 변수를 "allowSkillsetToReadFileData"true 설정하면 Blob 데이터 원본에서 다운로드한 원래 파일 데이터를 나타내는 개체인 경로 /document/file_data 가 만들어집니다. 이렇게 하면 보강 파이프라인 내에서 처리하기 위한 사용자 지정 기술 또는 문서 추출 기술에 원래 파일 데이터를 전달할 수 있습니다. 생성된 개체는 다음과 같이 정의됩니다. { "$type": "file", "data": "BASE64 encoded string of the file" }

매개 변수를 "allowSkillsetToReadFileData"true 설정하려면 기술 세트를 해당 인덱서에 연결하고, "parsingMode" 매개 변수가 , 또는 "json""text" 설정"default"되고"dataToExtract", 매개 변수가 또는 "allMetadata"로 설정되어야 합니다"contentAndMetadata".
"pdfTextRotationAlgorithm" String
"none"(기본값)
"detectAngles"
매개 변수를 로 "pdfTextRotationAlgorithm""detectAngles" 설정하면 텍스트가 회전된 PDF 파일에서 더 잘 읽을 수 있는 텍스트 추출을 생성할 수 있습니다. 이 매개 변수를 사용할 때 성능 속도에 작은 영향을 미칠 수 있습니다. 이 매개 변수는 PDF 파일에만 적용되며 포함된 텍스트가 있는 PDF에만 적용됩니다. PDF의 포함된 이미지 내에 회전된 텍스트가 나타나면 이 매개 변수가 적용되지 않습니다.

매개 변수를 "pdfTextRotationAlgorithm""detectAngles" 설정하려면 매개 변수를 로 "parsingMode" 설정해야 합니다 "default".

Azure Cosmos DB 구성 매개 변수

다음 매개 변수는 Cosmos DB 인덱서와 관련이 있습니다.

매개 변수 형식 및 허용되는 값 사용량
"assumeOrderByHighWaterMarkColumn" 부울 SQL API를 사용하는 Cosmos DB 인덱서의 경우 이 매개 변수를 설정하여 인덱싱을 위해 문서를 반환하는 데 사용된 쿼리가 실제로 열에 따라 정렬된다는 힌트를 Cosmos DB에 _ts 제공합니다. 이 매개 변수를 설정하면 증분 인덱싱 시나리오에 대한 더 나은 결과를 얻을 수 있습니다.

Azure SQL 구성 매개 변수

다음 매개 변수는 Azure SQL Database와 관련이 있습니다.

매개 변수 형식 및 허용되는 값 사용량
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
이 매개 변수를 설정하여 5분 기본값을 재정의합니다.
"convertHighWaterMarkToRowVersion" 부울 상위 워터 마크 열에 rowversion 데이터 형식을 사용하려면 이 매개 변수를 "true"로 설정합니다. 이 속성을 true로 설정하면 인덱서는 인덱서가 실행되기 전에 rowversion 값에서 하나를 뺍니다. 일대다 조인이 있는 뷰에는 행이 중복된 rowversion 값이 있을 수 있기 때문에 이 작업을 수행합니다. 1을 빼면 인덱서 쿼리에서 이러한 행을 누락하지 않습니다.
"disableOrderByHighWaterMarkColumn" 부울 변경 검색에 사용되는 쿼리에서 ORDER BY 동작을 사용하지 않도록 설정 하려면 이 매개 변수를 "true"로 설정합니다. 높은 워터 마크 변경 검색 정책을 사용하는 경우 인덱서는 WHERE 및 ORDER BY 절을 사용하여 인덱싱이 필요한 행을 추적합니다(WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]). 이 매개 변수는 ORDER BY 동작을 사용하지 않도록 설정합니다. 인덱싱은 더 빠르게 완료되지만, 어떤 이유로든 인덱서가 중단되면 전체 인덱서 작업을 완전히 반복해야 한다는 단점이 있습니다.

fieldMappings

원본 대상 필드 이름 또는 형식이 일치하지 않거나 함수를 지정하려는 경우 만듭니다. 필드 매핑은 대/소문자를 구분하지 않습니다. 필드 매핑 정의를 참조하세요.

attribute 설명
sourceFieldName 필수 요소. 원본 열의 이름입니다.
targetFieldName 필수 사항입니다. 검색 인덱스의 해당 필드 이름입니다.
mappingFunction (선택 사항) 검색 엔진으로 라우팅할 원본 값에 처리를 추가합니다. 예를 들어, 임의 문자열 값이 base64로 인코드될 수 있으므로 문서 키 필드를 채우는 데 사용할 수 있습니다. 매핑 함수에는 이름과 매개 변수가 있습니다. 유효한 값은 다음과 같습니다.

base64Encode
base64Decode
extractTokenAtPosition
jsonArrayToStringCollection
urlEncode
urlDecode

outputFieldMappings

검색 인덱스의 필드에 대한 기술 출력(또는 보강 트리의 노드)을 지정합니다.

  "outputFieldMappings" : [
        {
          "sourceFieldName" : "/document/organizations", 
          "targetFieldName" : "organizations"
        },
        {
          "sourceFieldName" : "/document/pages/*/keyPhrases/*", 
          "targetFieldName" : "keyphrases"
        },
        {
            "sourceFieldName": "/document/languageCode",
            "targetFieldName": "language",
            "mappingFunction": null
        }      
   ],

encryptionKey

추가 CMK(고객 관리형 암호화 키)에 대한 Azure Key Vault 대한 연결을 구성합니다. 무료 서비스에는 고객 관리형 키를 사용하여 암호화할 수 없습니다. 청구 가능한 서비스의 경우 2019-01-01 또는 그 이후에 만든 검색 서비스에만 사용할 수 있습니다.

키 자격 증명 모음에 대한 연결을 인증해야 합니다. 이 목적을 위해 "accessCredentials" 또는 관리 ID를 사용할 수 있습니다.

관리 ID는 시스템 또는 사용자 할당(미리 보기)일 수 있습니다. 검색 서비스에 시스템 할당 관리 ID와 키 자격 증명 모음에 대한 읽기 권한을 부여하는 역할 할당이 모두 있는 경우 "ID" 및 "accessCredentials"를 모두 생략할 수 있으며 요청은 시스템 관리 ID를 사용하여 인증됩니다. 검색 서비스에 사용자 할당 ID 및 역할 할당이 있는 경우 "ID" 속성을 해당 ID의 리소스 ID로 설정합니다.

attribute Description
keyVaultKeyName 필수 사항입니다. 암호화에 사용되는 Azure Key Vault 키의 이름입니다.
keyVaultKeyVersion 필수 사항입니다. Azure Key Vault 키의 버전입니다.
keyVaultUri 필수 사항입니다. 키를 제공하는 Azure Key Vault(DNS 이름이라고도 함)의 URI입니다. 예제 URI는 다음과 같습니다. https://my-keyvault-name.vault.azure.net
accessCredentials 관리 ID를 사용하는 경우 생략합니다. 그렇지 않으면 의 accessCredentials 속성에는 (지정된 Azure Key Vault 대한 액세스 권한이 있는 Azure Active Directory 애플리케이션 ID) 및 applicationSecret (지정된 Azure AD 애플리케이션의 인증 키)가 포함 applicationId 됩니다.
identity Azure Key Vault 대한 검색 서비스 연결에 사용자 할당 관리 ID를 사용하지 않는 한 선택 사항입니다. 형식은 "/subscriptions/[subscription ID]/resourceGroups/[resource group name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[managed identity name]"입니다.

추가 정보