다음을 통해 공유


Indexers - Create Or Update

새 인덱서가 있거나 인덱서가 이미 있는 경우 업데이트합니다.

PUT {endpoint}/indexers('{indexerName}')?api-version=2024-07-01

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
endpoint
path True

string

검색 서비스의 엔드포인트 URL입니다.

indexerName
path True

string

만들거나 업데이트할 인덱서의 이름입니다.

api-version
query True

string

클라이언트 API 버전입니다.

요청 헤더

Name 필수 형식 Description
x-ms-client-request-id

string

uuid

디버깅에 도움이 되도록 요청과 함께 전송된 추적 ID입니다.

If-Match

string

If-Match 조건을 정의합니다. 서버의 ETag가 이 값과 일치하는 경우에만 작업이 수행됩니다.

If-None-Match

string

If-None-Match 조건을 정의합니다. 서버의 ETag가 이 값과 일치하지 않는 경우에만 작업이 수행됩니다.

Prefer True

string

HTTP PUT 요청의 경우 성공 시 생성/업데이트된 리소스를 반환하도록 서비스에 지시합니다.

요청 본문

Name 필수 형식 Description
dataSourceName True

string

이 인덱서가 데이터를 읽는 데이터 원본의 이름입니다.

name True

string

인덱서의 이름입니다.

targetIndexName True

string

이 인덱서가 데이터를 쓰는 인덱스의 이름입니다.

@odata.etag

string

인덱서의 ETag입니다.

description

string

인덱서에 대한 설명입니다.

disabled

boolean

인덱서가 비활성화되어 있는지 여부를 나타내는 값입니다. 기본값은 false입니다.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft가 아닌 누구도 암호를 해독할 수 없다는 완전한 보증을 원할 때 인덱서 정의(및 인덱서 실행 상태)에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 인덱서 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 인덱서 정의(및 인덱서 실행 상태)는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다.

fieldMappings

FieldMapping[]

데이터 원본의 필드와 인덱스의 해당 대상 필드 간의 매핑을 정의합니다.

outputFieldMappings

FieldMapping[]

출력 필드 매핑은 보강 후 및 인덱싱 바로 전에 적용됩니다.

parameters

IndexingParameters

인덱서 실행에 대한 매개 변수입니다.

schedule

IndexingSchedule

이 인덱서의 일정입니다.

skillsetName

string

이 인덱서로 실행되는 기술 세트의 이름입니다.

응답

Name 형식 Description
200 OK

SearchIndexer

201 Created

SearchIndexer

Other Status Codes

ErrorResponse

오류 응답입니다.

예제

SearchServiceCreateOrUpdateIndexer

샘플 요청

PUT https://myservice.search.windows.net/indexers('myindexer')?api-version=2024-07-01


{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

샘플 응답

{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}
{
  "name": "myindexer",
  "description": "a cool indexer",
  "dataSourceName": "mydatasource",
  "targetIndexName": "orders",
  "schedule": {
    "interval": "PT1H",
    "startTime": "2015-01-01T00:00:00Z"
  },
  "parameters": {
    "maxFailedItems": 10,
    "maxFailedItemsPerBatch": 5
  },
  "fieldMappings": [],
  "disabled": false,
  "encryptionKey": {
    "keyVaultKeyName": "myUserManagedEncryptionKey-createdinAzureKeyVault",
    "keyVaultKeyVersion": "myKeyVersion-32charAlphaNumericString",
    "keyVaultUri": "https://myKeyVault.vault.azure.net",
    "accessCredentials": null
  }
}

정의

Name Description
AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다.

BlobIndexerDataToExtract

Azure Blob Storage에서 추출할 데이터를 지정하고 "imageAction"이 "none" 이외의 값으로 설정되면 이미지 콘텐츠에서 추출할 데이터를 인덱서에 알립니다. 이는 .PDF 또는 다른 애플리케이션의 포함된 이미지 콘텐츠 또는 Azure Blob의 .jpg 및 .png같은 이미지 파일에 적용됩니다.

BlobIndexerImageAction

Azure Blob Storage에서 포함된 이미지 및 이미지 파일을 처리하는 방법을 결정합니다. "imageAction" 구성을 "none" 이외의 값으로 설정하려면 기술 세트도 해당 인덱서에 연결해야 합니다.

BlobIndexerParsingMode

Azure Blob 데이터 원본에서 인덱싱하기 위한 구문 분석 모드를 나타냅니다.

BlobIndexerPDFTextRotationAlgorithm

Azure Blob Storage의 PDF 파일에서 텍스트 추출 알고리즘을 결정합니다.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

ErrorDetail

오류 세부 정보입니다.

ErrorResponse

오류 응답

FieldMapping

데이터 원본의 필드와 인덱스의 대상 필드 간의 매핑을 정의합니다.

FieldMappingFunction

인덱싱하기 전에 데이터 원본에서 값을 변환하는 함수를 나타냅니다.

IndexerExecutionEnvironment

인덱서가 실행되어야 하는 환경을 지정합니다.

IndexingParameters

인덱서 실행에 대한 매개 변수를 나타냅니다.

IndexingParametersConfiguration

인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다.

IndexingSchedule

인덱서 실행 일정을 나타냅니다.

SearchIndexer

인덱서입니다.

SearchResourceEncryptionKey

Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.

AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다.

Name 형식 Description
applicationId

string

미사용 데이터를 암호화할 때 사용할 Azure Key Vault에 필요한 액세스 권한이 부여된 AAD 애플리케이션 ID입니다. 애플리케이션 ID는 AAD 애플리케이션의 개체 ID와 혼동해서는 안 됩니다.

applicationSecret

string

지정된 AAD 애플리케이션의 인증 키입니다.

BlobIndexerDataToExtract

Azure Blob Storage에서 추출할 데이터를 지정하고 "imageAction"이 "none" 이외의 값으로 설정되면 이미지 콘텐츠에서 추출할 데이터를 인덱서에 알립니다. 이는 .PDF 또는 다른 애플리케이션의 포함된 이미지 콘텐츠 또는 Azure Blob의 .jpg 및 .png같은 이미지 파일에 적용됩니다.

Name 형식 Description
allMetadata

string

Azure Blob Storage 하위 시스템 및 콘텐츠 형식 특정 메타데이터에서 제공하는 메타데이터를 추출합니다(예: .png 파일에만 고유한 메타데이터가 인덱싱됨).

contentAndMetadata

string

각 Blob에서 모든 메타데이터 및 텍스트 콘텐츠를 추출합니다.

storageMetadata

string

표준 Blob 속성 및 사용자 지정 메타데이터만 인덱싱합니다.

BlobIndexerImageAction

Azure Blob Storage에서 포함된 이미지 및 이미지 파일을 처리하는 방법을 결정합니다. "imageAction" 구성을 "none" 이외의 값으로 설정하려면 기술 세트도 해당 인덱서에 연결해야 합니다.

Name 형식 Description
generateNormalizedImagePerPage

string

이미지에서 텍스트 추출(예: 트래픽 정지 기호에서 "STOP"이라는 단어)을 콘텐츠 필드에 포함하지만, 포함된 이미지를 추출하는 대신 각 페이지가 이미지로 렌더링되고 그에 따라 정규화된다는 측면에서 PDF 파일을 다르게 처리합니다. PDF가 아닌 파일 형식은 "generateNormalizedImages"가 설정된 경우와 동일하게 처리됩니다.

generateNormalizedImages

string

이미지에서 텍스트를 추출하고(예: 트래픽 정지 기호에서 "STOP"이라는 단어) 콘텐츠 필드에 포함합니다. 이 작업을 수행하려면 "dataToExtract"를 "contentAndMetadata"로 설정해야 합니다. 정규화된 이미지는 시각적 검색 결과에 이미지를 포함할 때 일관된 렌더링을 촉진하기 위해 크기가 조정되고 회전되는 균일한 이미지 출력을 초래하는 추가 처리를 나타냅니다. 이 정보는 이 옵션을 사용할 때 각 이미지에 대해 생성됩니다.

none

string

데이터 집합의 포함된 이미지 또는 이미지 파일을 무시합니다. 기본값입니다.

BlobIndexerParsingMode

Azure Blob 데이터 원본에서 인덱싱하기 위한 구문 분석 모드를 나타냅니다.

Name 형식 Description
default

string

일반 파일 처리를 위해 기본값으로 설정합니다.

delimitedText

string

Blob이 일반 CSV 파일인 경우 delimitedText로 설정합니다.

json

string

JSON 파일에서 구조적 콘텐츠를 추출하려면 json으로 설정합니다.

jsonArray

string

JSON 배열의 개별 요소를 별도의 문서로 추출하려면 jsonArray로 설정합니다.

jsonLines

string

새 줄로 구분된 개별 JSON 엔터티를 별도의 문서로 추출하려면 jsonLines로 설정합니다.

text

string

Blob Storage의 일반 텍스트 파일에서 인덱싱 성능을 향상시키려면 텍스트로 설정합니다.

BlobIndexerPDFTextRotationAlgorithm

Azure Blob Storage의 PDF 파일에서 텍스트 추출 알고리즘을 결정합니다.

Name 형식 Description
detectAngles

string

텍스트가 회전된 PDF 파일에서 더 잘 읽을 수 있는 텍스트 추출을 생성할 수 있습니다. 이 매개 변수를 사용할 때 성능 속도에 작은 영향이 있을 수 있습니다. 이 매개 변수는 PDF 파일에만 적용되며 텍스트가 포함된 PDF에만 적용됩니다. PDF의 포함된 이미지 내에 회전된 텍스트가 나타나면 이 매개 변수가 적용되지 않습니다.

none

string

일반 텍스트 추출을 활용합니다. 기본값입니다.

ErrorAdditionalInfo

리소스 관리 오류 추가 정보입니다.

Name 형식 Description
info

object

추가 정보입니다.

type

string

추가 정보 유형입니다.

ErrorDetail

오류 세부 정보입니다.

Name 형식 Description
additionalInfo

ErrorAdditionalInfo[]

오류 추가 정보입니다.

code

string

오류 코드입니다.

details

ErrorDetail[]

오류 세부 정보입니다.

message

string

오류 메시지입니다.

target

string

오류 대상입니다.

ErrorResponse

오류 응답

Name 형식 Description
error

ErrorDetail

오류 개체입니다.

FieldMapping

데이터 원본의 필드와 인덱스의 대상 필드 간의 매핑을 정의합니다.

Name 형식 Description
mappingFunction

FieldMappingFunction

인덱싱하기 전에 각 원본 필드 값에 적용할 함수입니다.

sourceFieldName

string

데이터 원본에 있는 필드의 이름입니다.

targetFieldName

string

인덱스의 대상 필드 이름입니다. 기본적으로 원본 필드 이름과 동일합니다.

FieldMappingFunction

인덱싱하기 전에 데이터 원본에서 값을 변환하는 함수를 나타냅니다.

Name 형식 Description
name

string

필드 매핑 함수의 이름입니다.

parameters

object

함수에 전달할 매개 변수 이름/값 쌍의 사전입니다. 각 값은 기본 형식이어야 합니다.

IndexerExecutionEnvironment

인덱서가 실행되어야 하는 환경을 지정합니다.

Name 형식 Description
private

string

인덱서가 검색 서비스에 대해 특별히 프로비전된 환경으로 실행되어야 임을 나타냅니다. 인덱서가 공유 프라이빗 링크 리소스를 통해 리소스에 안전하게 액세스해야 하는 경우에만 실행 환경으로 지정해야 합니다.

standard

string

검색 서비스에서 인덱서가 실행되어야 하는 위치를 결정할 수 있음을 나타냅니다. 아무것도 지정하지 않은 경우 기본 환경이며 권장되는 값입니다.

IndexingParameters

인덱서 실행에 대한 매개 변수를 나타냅니다.

Name 형식 Default value Description
batchSize

integer

성능 향상을 위해 데이터 원본에서 읽고 단일 일괄 처리로 인덱싱된 항목의 수입니다. 기본값은 데이터 원본 형식에 따라 달라집니다.

configuration

IndexingParametersConfiguration

인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다.

maxFailedItems

integer

0

인덱서 실행을 위해 인덱싱에 실패할 수 있는 최대 항목 수는 여전히 성공한 것으로 간주됩니다. -1은 제한이 없음을 의미합니다. 기본값은 0입니다.

maxFailedItemsPerBatch

integer

0

일괄 처리에 대한 인덱싱에 실패할 수 있는 단일 일괄 처리의 최대 항목 수입니다. -1은 제한이 없음을 의미합니다. 기본값은 0입니다.

IndexingParametersConfiguration

인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다.

Name 형식 Default value Description
allowSkillsetToReadFileData

boolean

False

true이면 Blob 데이터 원본에서 다운로드한 원래 파일 데이터를 나타내는 개체인 경로 //document//file_data 만듭니다. 이렇게 하면 보강 파이프라인 내의 처리를 위한 사용자 지정 기술 또는 문서 추출 기술에 원본 파일 데이터를 전달할 수 있습니다.

dataToExtract

BlobIndexerDataToExtract

contentAndMetadata

Azure Blob Storage에서 추출할 데이터를 지정하고 "imageAction"이 "none" 이외의 값으로 설정되면 이미지 콘텐츠에서 추출할 데이터를 인덱서에 알립니다. 이는 .PDF 또는 다른 애플리케이션의 포함된 이미지 콘텐츠 또는 Azure Blob의 .jpg 및 .png같은 이미지 파일에 적용됩니다.

delimitedTextDelimiter

string

CSV Blob의 경우 각 줄이 새 문서를 시작하는 CSV 파일의 줄 끝 단일 문자 구분 기호를 지정합니다(예: "|").

delimitedTextHeaders

string

CSV Blob의 경우 원본 필드를 인덱스의 대상 필드에 매핑하는 데 유용한 쉼표로 구분된 열 머리글 목록을 지정합니다.

documentRoot

string

JSON 배열의 경우 구조화된 문서나 반구조화된 문서가 있는 경우 이 속성을 사용하여 배열의 경로를 지정할 수 있습니다.

excludedFileNameExtensions

string

Azure Blob Storage에서 처리할 때 무시할 쉼표로 구분된 파일 이름 확장명 목록입니다. 예를 들어 인덱싱하는 동안 해당 파일을 건너뛰려면 ".png, .mp4"을 제외할 수 있습니다.

executionEnvironment

IndexerExecutionEnvironment

standard

인덱서가 실행되어야 하는 환경을 지정합니다.

failOnUnprocessableDocument

boolean

False

Azure Blob의 경우 문서 인덱싱에 실패할 경우 인덱싱을 계속하려면 false로 설정합니다.

failOnUnsupportedContentType

boolean

False

Azure Blob의 경우 지원되지 않는 콘텐츠 형식이 발견될 때 인덱싱을 계속하려면 false로 설정하고 모든 콘텐츠 형식(파일 확장명)을 미리 알 수 없습니다.

firstLineContainsHeaders

boolean

True

CSV Blob의 경우 각 Blob의 첫 번째(비어 있지 않은) 줄에 헤더가 포함되어 있음을 나타냅니다.

imageAction

BlobIndexerImageAction

none

Azure Blob Storage에서 포함된 이미지 및 이미지 파일을 처리하는 방법을 결정합니다. "imageAction" 구성을 "none" 이외의 값으로 설정하려면 기술 세트도 해당 인덱서에 연결해야 합니다.

indexStorageMetadataOnlyForOversizedDocuments

boolean

False

Azure Blob의 경우 처리하기에 너무 큰 Blob 콘텐츠에 대한 스토리지 메타데이터를 계속 인덱싱하도록 이 속성을 true로 설정합니다. 대형 Blob은 기본적으로 오류로 처리됩니다. Blob 크기에 대한 제한은 https://learn.microsoft.com/azure/search/search-limits-quotas-capacity참조하세요.

indexedFileNameExtensions

string

Azure Blob Storage에서 처리할 때 선택할 파일 이름 확장 프로그램의 쉼표로 구분된 목록입니다. 예를 들어 특정 애플리케이션 파일 ".docx, .pptx, .msg"에 인덱싱을 집중하여 해당 파일 형식을 구체적으로 포함할 수 있습니다.

parsingMode

BlobIndexerParsingMode

default

Azure Blob 데이터 원본에서 인덱싱하기 위한 구문 분석 모드를 나타냅니다.

pdfTextRotationAlgorithm

BlobIndexerPDFTextRotationAlgorithm

none

Azure Blob Storage의 PDF 파일에서 텍스트 추출 알고리즘을 결정합니다.

queryTimeout

string

00:05:00

"hh:mm:ss" 형식으로 지정된 Azure SQL 데이터베이스 데이터 원본에 대한 5분 기본값을 초과하여 시간 제한을 늘립니다.

IndexingSchedule

인덱서 실행 일정을 나타냅니다.

Name 형식 Description
interval

string

인덱서 실행 사이의 시간 간격입니다.

startTime

string

인덱서 실행을 시작해야 하는 시간입니다.

SearchIndexer

인덱서입니다.

Name 형식 Default value Description
@odata.etag

string

인덱서의 ETag입니다.

dataSourceName

string

이 인덱서가 데이터를 읽는 데이터 원본의 이름입니다.

description

string

인덱서에 대한 설명입니다.

disabled

boolean

False

인덱서가 비활성화되어 있는지 여부를 나타내는 값입니다. 기본값은 false입니다.

encryptionKey

SearchResourceEncryptionKey

Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft가 아닌 누구도 암호를 해독할 수 없다는 완전한 보증을 원할 때 인덱서 정의(및 인덱서 실행 상태)에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 인덱서 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 인덱서 정의(및 인덱서 실행 상태)는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다.

fieldMappings

FieldMapping[]

데이터 원본의 필드와 인덱스의 해당 대상 필드 간의 매핑을 정의합니다.

name

string

인덱서의 이름입니다.

outputFieldMappings

FieldMapping[]

출력 필드 매핑은 보강 후 및 인덱싱 바로 전에 적용됩니다.

parameters

IndexingParameters

인덱서 실행에 대한 매개 변수입니다.

schedule

IndexingSchedule

이 인덱서의 일정입니다.

skillsetName

string

이 인덱서로 실행되는 기술 세트의 이름입니다.

targetIndexName

string

이 인덱서가 데이터를 쓰는 인덱스의 이름입니다.

SearchResourceEncryptionKey

Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.

Name 형식 Description
accessCredentials

AzureActiveDirectoryApplicationCredentials

Azure Key Vault에 액세스하는 데 사용되는 선택적 Azure Active Directory 자격 증명입니다. 대신 관리 ID를 사용하는 경우에는 필요하지 않습니다.

keyVaultKeyName

string

미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 이름입니다.

keyVaultKeyVersion

string

미사용 데이터를 암호화하는 데 사용할 Azure Key Vault 키의 버전입니다.

keyVaultUri

string

미사용 데이터를 암호화하는 데 사용할 키를 포함하는 DNS 이름이라고도 하는 Azure Key Vault의 URI입니다. 예제 URI는 https://my-keyvault-name.vault.azure.net수 있습니다.