인덱서 만들기 (Azure Cognitive Search REST API)

인덱서 는 Azure Storage, Azure SQL Database 및 Azure Cosmos DB와 같은 지원 되는 Azure 데이터 원본에서 몇 가지 이름을 가진 인덱싱을 자동화 합니다. 인덱서는 미리 정의 된 데이터 원본과 인덱스 를 사용 하 여 원본 데이터를 추출 하 고 serialize 하는 인덱싱 파이프라인을 설정 하 여 데이터 수집을 위한 검색 서비스에 전달 합니다. 이미지와 비구조적 텍스트의 AI 보강 경우에도 인덱서는 AI 처리를 정의 하는 기술 를 수락할 수 있습니다.

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

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

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를 사용해야 합니다. 인덱서가 없으면 생성 됩니다. 이미 있으면 새 정의로 업데이트 되지만 인덱서를 실행 하려면 인덱서 실행 요청을 실행 해야 합니다.

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

URI 매개 변수

매개 변수 설명
서비스 이름 필수 요소. 이를 검색 서비스의 고유한 사용자 정의 이름으로 설정 합니다.
인덱서 이름 PUT을 사용 하는 경우 URI에 필요 합니다. 이름은 소문자 여야 하 고 문자나 숫자로 시작 하 고 슬래시 또는 마침표를 사용 하지 않아야 하며 128 자 미만 이어야 합니다. 이름을 문자나 숫자로 시작한 후에는 대시를 연속으로 사용 하지 않는 한, 이름의 나머지 부분에 문자, 숫자 및 대시를 포함할 수 있습니다.
api-version 필수 요소. 현재 버전은 api-version=2020-06-30입니다. 사용 가능한 버전 목록은 Azure Cognitive Search의 API 버전 을 참조 하세요.

요청 헤더

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

필드 설명
콘텐츠 형식 필수 요소. application/json
api-key 필수 요소. api-key는 Search 서비스에 대한 요청을 인증하는 데 사용되며, 서비스에 고유한 문자열 값입니다. 만들기 요청은 api-key 쿼리 키가 아니라 관리 키로 설정 된 헤더를 포함 해야 합니다.

api-keyAzure Portal의 서비스 대시보드에서를 가져올 수 있습니다. 자세한 내용은 기존 키 찾기를 참조 하세요.

요청 본문

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

다음 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",
    "schedule" : (optional but runs once immediately if unspecified) { ... },  
    "parameters" : (optional) { ... },  
    "fieldMappings" : (optional) { ... },
    "outputFieldMappings" : (required for AI enrichment) { ... },
    "encryptionKey":(optional) { },
    "disabled" : (optional) Boolean value indicating whether the indexer is disabled. False by default.
}  

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

속성 설명
name 필수 요소. 이름은 소문자 여야 하 고 문자나 숫자로 시작 하 고 슬래시 또는 마침표를 사용 하지 않아야 하며 128 자 미만 이어야 합니다. 이름을 문자나 숫자로 시작한 후에는 대시를 연속으로 사용 하지 않는 한, 이름의 나머지 부분에 문자, 숫자 및 대시를 포함할 수 있습니다.
dataSourceName 필수 요소. 기존 데이터 원본의이름입니다. 인덱서에서 원본 플랫폼 특성을 악용 하는 데 사용할 수 있는 속성을 포함 하는 경우가 많습니다. 따라서 인덱서에 전달 하는 데이터 원본은 Azure blob의 콘텐츠 형식 필터링과 같은 특정 속성 및 매개 변수의 가용성을 결정 합니다. 또는 Azure SQL Database에 대 한 쿼리 제한 시간입니다.
targetIndexName 필수 요소. 기존 인덱스 스키마의 이름입니다. 필드를 사용 하는 방법을 결정 하는 검색 가능 하 고, 필터링 가능 하 고, 검색 가능 하며 기타 attributions을 포함 하는 fields 컬렉션을 정의 합니다. 인덱싱하는 동안 인덱서는 데이터 원본을 탐색하고, 필요에 따라 문서를 해독하고 정보를 추출하며, 결과를 JSON으로 serialize하고, 인덱스에 대해 정의된 스키마를 기반으로 페이로드를 인덱싱합니다.
skillsetName AI 보강에 필요 합니다. 인덱서 당 하나씩 기존 기술의 이름입니다. 데이터 원본 및 인덱스와 마찬가지로 기술는 인덱서에 연결 하는 독립적인 정의입니다. 다른 인덱서로 기술 집합의 용도를 변경할 수 있지만 각 인덱서는 한 번에 하나의 기술 집합만 사용할 수 있습니다.
schedule 선택 사항 이지만, 지정 되지 않은 경우 즉시 한 번 실행 되며 사용 하지 않도록 설정 됩니다. 일정에는 interval (필수) 및 startTime (선택 사항)이 포함 됩니다. 자세한 내용은 인덱서 예약을 참조 하세요.

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

startTime 인덱서 실행을 시작 해야 하는 UTC 날짜/시간입니다.
매개 변수 선택 사항입니다. 런타임 동작을 수정 하는 속성입니다.

"batchSize" (정수). 성능을 향상시키기 위해 단일 배치로 인덱싱되고 데이터 원본에서 읽는 항목 수를 지정합니다. 기본값은 소스와 관련 되어 있습니다 (Azure SQL Database 및 Azure Cosmos DB의 경우 1000, Azure Blob Storage의 경우 10).

"maxFailedItems" (정수). 인덱서 실행이 실패로 간주 되기 전에 허용할 오류 수를 지정 합니다. 기본값은 0입니다. 모든 오류에 대해 인덱싱 프로세스를 중지하지 않으려면 -1로 설정합니다. Get 인덱서 Status 를 사용 하 여 실패 한 문서에 대 한 정보를 검색 합니다.

"maxFailedItemsPerBatch" (정수). 인덱서 실행이 실패로 간주 되기 전에 각 일괄 처리에 허용할 오류 수를 지정 합니다. 기본값은 0입니다. 모든 오류에 대해 인덱싱 프로세스를 중지하지 않으려면 -1로 설정합니다.

"executionEnvironment" 문자열입니다. 내부 시스템 프로세스에서 선택한 실행 환경을 재정의 합니다. Private인덱서가 개인 끝점 연결을 통해 외부 리소스에 액세스 하는 경우 실행 환경을로 명시적으로 설정 해야 합니다. 데이터 수집의 경우이 설정은 기본 또는 표준 (S1, S2, S3)으로 프로 비전 된 서비스에 대해서만 유효 합니다. AI 보강 콘텐츠 처리의 경우이 설정은 S2 및 S3에만 유효 합니다. 이 설정은 섹션에 있습니다 "configuration" . 유효한 값은 대/소문자를 구분 하지 않으며 [null 또는 지정 되지 않음], Standard (기본값) 또는로 구성 됩니다 Private .
fieldMappings 선택 사항입니다. 원본 필드를 검색 인덱스의 대상 필드에 명시적으로 연결 합니다. 원본 및 대상 필드의 이름이 나 형식이 다르거나 함수를 지정 하려는 경우에 사용 됩니다. fieldMappings섹션에는 sourceFieldName (필수, 기본 데이터 원본의 필드), targetFieldName (필수, 인덱스의 필드) 및 mappingFunction 인코딩 출력에 대 한 옵션이 포함 되어 있습니다. 지원 되는 함수 및 예제 목록은 필드 매핑 함수에서 찾을 수 있습니다. 보다 일반적인 정보는 필드 매핑 및 변환을 참조 하세요.
outputFieldMappings 보강 파이프라인에 필요 합니다. 기술의 출력을 인덱스 또는 프로젝션에 매핑합니다. outputFieldMappings섹션에는 sourceFieldName (필수, 보강 트리의 노드), targetFieldName (필수, 인덱스의 필드) 및 mappingFunction 인코딩 출력에 대 한 옵션이 포함 되어 있습니다. 지원 되는 함수 및 예제 목록은 필드 매핑 함수에서 찾을 수 있습니다. 보다 일반적인 정보는 기술에서 출력 필드를 매핑하는 방법을 참조 하세요.
encryptionKey 선택 사항입니다. Azure Key Vault에서 관리 되는 고유한 키를 사용 하 여 미사용 인덱서 정의를 암호화 하는 데 사용 됩니다. 2019-01-01 이후에 생성 된 청구 가능 검색 서비스에 사용할 수 있습니다.

섹션에는 encryptionKey 사용자 정의 keyVaultKeyName (필수), 시스템 생성 keyVaultKeyVersion (필수) 및 키를 제공 하는가 포함 keyVaultUri 됩니다 (필수, DNS 이름이 라고도 함). URI 예제는 "" 일 수 있습니다 https://my-keyvault-name.vault.azure.net .

필요에 따라 accessCredentials 관리 되는 시스템 id를 사용 하지 않을 지 여부를 지정할 수 있습니다. 의 속성에는 accessCredentials applicationId (지정 된 Azure Key Vault에 대 한 액세스 권한이 부여 된 Azure Active Directory 응용 프로그램 ID) 및 applicationSecret (지정 된 Azure AD 응용 프로그램의 인증 키)가 포함 됩니다. 다음 섹션의 예에서는 구문을 보여 줍니다.
disabled 선택 사항입니다. 인덱서를 사용할 수 없는지 여부를 나타내는 부울 값입니다. 인덱서 정의를 즉시 실행 하지 않고 만들려면이 속성을 설정 합니다. False(기본값).

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 Cognitive Search의 개별 문서로 배열의 개별 요소를 추출 합니다. 를 사용 jsonLines 하 여 새 줄로 구분 된 개별 JSON 엔터티를 Azure Cognitive Search의 개별 문서로 추출 합니다.
"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 보강의 이미지 분석에서 "imageAction" 가 이외의 값으로 설정 된 경우이 "none" "dataToExtract" 설정은 이미지 콘텐츠에서 추출할 데이터를 인덱서에 지시 합니다. Azure blob에서 .PDF 또는 다른 애플리케이션이나 이미지 파일(예: .jpg 및 .png)의 포함된 이미지 콘텐츠에 적용됩니다.
"imageAction" String
"none"
"generateNormalizedImages"
"generateNormalizedImagePerPage"
Azure blob의 경우 데이터 집합에서 포함된 이미지나 이미지 파일을 무시하려면 "none"으로 설정합니다. 이것이 기본값입니다.

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

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

"imageAction"구성을 이외의 값으로 설정 하려면 "none" 기술 도 해당 인덱서에 연결 되어야 합니다.
"allowSkillsetToReadFileData" 부울
true
false(기본값)
"allowSkillsetToReadFileData"매개 변수를로 설정 true 하면 /document/file_data blob 데이터 원본에서 다운로드 한 원래 파일 데이터를 나타내는 개체인 경로가 만들어집니다. 이를 통해 보강 파이프라인 내에서 처리 하기 위한 사용자 지정 기술 또는 문서 추출 기술에 원래 파일 데이터를 전달할 수 있습니다. 생성 되는 개체는 다음과 같이 정의 됩니다. { "$type": "file", "data": "BASE64 encoded string of the file" }

"allowSkillsetToReadFileData"매개 변수를로 설정 하려면 true 기술 를 해당 인덱서에 연결 하 고 "parsingMode" 매개 변수를 또는로 설정 해야 "default" 합니다 "text" "json" .
"pdfTextRotationAlgorithm" String
"none"(기본값)
"detectAngles"
"pdfTextRotationAlgorithm"매개 변수를로 설정 하면 "detectAngles" 텍스트가 회전 된 텍스트를 포함 하는 PDF 파일에서 더 빠르고 읽기 쉬운 텍스트 추출을 생성 하는 데 도움이 될 수 있습니다. 이 매개 변수를 사용 하는 경우 성능에 약간의 영향을 줄 수 있습니다. 이 매개 변수는 PDF 파일에만 적용 되 고 포함 된 텍스트가 있는 Pdf에만 적용 됩니다. 회전 된 텍스트가 PDF의 포함 된 이미지 내에 표시 되는 경우에는이 매개 변수가 적용 되지 않습니다.

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

Azure SQL 구성 매개 변수

다음 매개 변수는 Azure SQL Database에만 적용됩니다.

매개 변수 형식 및 허용되는 값 사용량
"queryTimeout" String
"hh:mm:ss"
"00:05:00"
Azure SQL Database의 경우 기본값인 5분을 넘어 시간 제한을 늘리려면 이 매개 변수를 설정합니다.

응답

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

예제

예: 일정 및 제네릭 매개 변수가 있는 인덱서

데이터 원본에서 참조 하는 테이블의 데이터를 ordersds orders 2021 UTC에 시작 하 고 매시간 실행 되는 일정의 인덱스에 복사 하는 인덱서를 만듭니다. 각 일괄 처리에서 인덱싱에 실패하는 항목이 5개 이하이며 인덱싱에 실패하는 총 항목 수가 10개 이하이면 각 인덱서 호출은 성공합니다.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 }  
}

참고

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

예: blob 매개 변수가 있는 인덱서

필요한 경우 런타임 동작을 수정하는 구성 매개 변수를 인덱서에 적용할 수 있습니다. 구성 매개 변수는 인덱서 요청에서 쉼표로 구분 되며 데이터 원본 유형과 관련 됩니다. 다음 구성 매개 변수는 blob을 인덱싱하는 데 사용 되는 지침을 제공 합니다.

  {
    "name" : "my-blob-indexer-for-cognitive-search",
    ... other indexer properties
    "parameters" : 
      { 
      "maxFailedItems" : "15", 
      "batchSize" : "100", 
      "configuration" : 
          { 
          "parsingMode" : "json", 
          "indexedFileNameExtensions" : ".json, .jpg, .png",
          "imageAction" : "generateNormalizedImages",
          "dataToExtract" : "contentAndMetadata" ,
          "executionEnvironment": "Standard"
          } 
      }
  }

예: 필드 매핑을 사용 하는 인덱서

원본 테이블의 필드를 _id 검색 인덱스의 "id" 필드에 매핑합니다. Azure Cognitive Search는 필드 이름이 밑줄로 시작 하는 것을 허용 하지 않습니다. 필드 매핑은 이름 불일치를 해결할 수 있습니다. 원본 필드 이름과 대상 필드 이름 모두 대/소문자를 구분하지 않습니다. 자세한 내용은 필드 매핑 및 변환을 참조 하세요.

"fieldMappings" : [
    { "sourceFieldName" : "_id", "targetFieldName" : "id" },
    { "sourceFieldName" : "_timestamp", "targetFieldName" : "timestamp" }
]

예: AI 보강를 사용 하는 인덱서

및에 대 한 참조로 표시 되는 AI 보강을 보여 줍니다 skillset outputFieldMappings . 기술 집합은 별도로 정의되는 상위 수준의 리소스입니다. 이 예는 AI 보강 자습서에서 인덱서 정의의 약어입니다.

{
  "name":"demoindexer", 
  "dataSourceName" : "demodata",
  "targetIndexName" : "demoindex",
  "skillsetName" : "demoskillset",
  "fieldMappings" : [
    {
        "sourceFieldName" : "content",
        "targetFieldName" : "content"
    }
   ],
  "outputFieldMappings" : 
  [
    {
        "sourceFieldName" : "/document/organizations", 
        "targetFieldName" : "organizations"
    },
  ],
  "parameters":
  {
    "maxFailedItems":-1,
    "configuration": 
    {
    "dataToExtract": "contentAndMetadata",
    "imageAction": "generateNormalizedImages"
    }
  }
}

예: 기술 및 출력 필드 매핑을 사용 하는 인덱서

기술가 인덱서에 바인딩되는 AI 보강 시나리오에서는 outputFieldMappings 를 추가 하 여 인덱스에서 검색 가능한 필드에 콘텐츠를 제공 하는 보강 단계의 모든 출력을 연결 해야 합니다. 은 sourceFieldName 보강 트리의 노드입니다. 소스 문서에서 두 개의 개별 필드를 보강 하는 동안 빌드된 복합 구조 일 수 있습니다. 는 targetFieldName 검색 인덱스의 필드입니다. 자세한 내용은 기술에서 출력 필드를 매핑하는 방법을 참조 하세요.

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

예: 암호화 키

암호화 키는 추가 암호화에 사용 되는 고객 관리 키입니다. 자세한 내용은 Azure Key Vault에서 고객이 관리 하는 키를 사용 하 여 암호화를 참조 하세요.

{
    "name" : "myindexer",  
    "description" : "a cool indexer",  
    "dataSourceName" : "ordersds",  
    "targetIndexName" : "orders",  
    "schedule" : { "interval" : "PT1H", "startTime" : "2021-01-01T00:00:00Z" },  
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 5 },
    "encryptionKey": (optional) { 
      "keyVaultKeyName": "Name of the Azure Key Vault key used for encryption",
      "keyVaultKeyVersion": "Version of the Azure Key Vault key",
      "keyVaultUri": "URI of Azure Key Vault, also referred to as DNS name, that provides the key. An example URI might be https://my-keyvault-name.vault.azure.net",
      "accessCredentials": (optional, only if not using managed system identity) {
        "applicationId": "Azure Active Directory Application ID that was granted access permissions to your specified Azure Key Vault",
        "applicationSecret": "Authentication key of the specified Azure AD application)"}
      }
}

추가 정보