Indexers - Create Or Update
새 인덱서가 있거나 인덱서가 이미 있는 경우 업데이트합니다.
PUT {endpoint}/indexers('{indexerName}')?api-version=2024-07-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
검색 서비스의 엔드포인트 URL입니다. |
indexer
|
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 |
Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft가 아닌 누구도 암호를 해독할 수 없다는 완전한 보증을 원할 때 인덱서 정의(및 인덱서 실행 상태)에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 인덱서 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 인덱서 정의(및 인덱서 실행 상태)는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
||
fieldMappings |
데이터 원본의 필드와 인덱스의 해당 대상 필드 간의 매핑을 정의합니다. |
||
outputFieldMappings |
출력 필드 매핑은 보강 후 및 인덱싱 바로 전에 적용됩니다. |
||
parameters |
인덱서 실행에 대한 매개 변수입니다. |
||
schedule |
이 인덱서의 일정입니다. |
||
skillsetName |
string |
이 인덱서로 실행되는 기술 세트의 이름입니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK | ||
201 Created | ||
Other Status Codes |
오류 응답입니다. |
예제
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 |
---|---|
Azure |
Azure Key Vault에 저장된 암호화 키에 대한 인증된 액세스에 사용되는 검색 서비스에 대해 생성된 등록된 애플리케이션의 자격 증명입니다. |
Blob |
Azure Blob Storage에서 추출할 데이터를 지정하고 "imageAction"이 "none" 이외의 값으로 설정되면 이미지 콘텐츠에서 추출할 데이터를 인덱서에 알립니다. 이는 .PDF 또는 다른 애플리케이션의 포함된 이미지 콘텐츠 또는 Azure Blob의 .jpg 및 .png같은 이미지 파일에 적용됩니다. |
Blob |
Azure Blob Storage에서 포함된 이미지 및 이미지 파일을 처리하는 방법을 결정합니다. "imageAction" 구성을 "none" 이외의 값으로 설정하려면 기술 세트도 해당 인덱서에 연결해야 합니다. |
Blob |
Azure Blob 데이터 원본에서 인덱싱하기 위한 구문 분석 모드를 나타냅니다. |
Blob |
Azure Blob Storage의 PDF 파일에서 텍스트 추출 알고리즘을 결정합니다. |
Error |
리소스 관리 오류 추가 정보입니다. |
Error |
오류 세부 정보입니다. |
Error |
오류 응답 |
Field |
데이터 원본의 필드와 인덱스의 대상 필드 간의 매핑을 정의합니다. |
Field |
인덱싱하기 전에 데이터 원본에서 값을 변환하는 함수를 나타냅니다. |
Indexer |
인덱서가 실행되어야 하는 환경을 지정합니다. |
Indexing |
인덱서 실행에 대한 매개 변수를 나타냅니다. |
Indexing |
인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다. |
Indexing |
인덱서 실행 일정을 나타냅니다. |
Search |
인덱서입니다. |
Search |
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 |
오류 추가 정보입니다. |
|
code |
string |
오류 코드입니다. |
details |
오류 세부 정보입니다. |
|
message |
string |
오류 메시지입니다. |
target |
string |
오류 대상입니다. |
ErrorResponse
오류 응답
Name | 형식 | Description |
---|---|---|
error |
오류 개체입니다. |
FieldMapping
데이터 원본의 필드와 인덱스의 대상 필드 간의 매핑을 정의합니다.
Name | 형식 | Description |
---|---|---|
mappingFunction |
인덱싱하기 전에 각 원본 필드 값에 적용할 함수입니다. |
|
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 |
인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다. |
||
maxFailedItems |
integer |
0 |
인덱서 실행을 위해 인덱싱에 실패할 수 있는 최대 항목 수는 여전히 성공한 것으로 간주됩니다. -1은 제한이 없음을 의미합니다. 기본값은 0입니다. |
maxFailedItemsPerBatch |
integer |
0 |
일괄 처리에 대한 인덱싱에 실패할 수 있는 단일 일괄 처리의 최대 항목 수입니다. -1은 제한이 없음을 의미합니다. 기본값은 0입니다. |
IndexingParametersConfiguration
인덱서별 구성 속성의 사전입니다. 각 이름은 특정 속성의 이름입니다. 각 값은 기본 형식이어야 합니다.
Name | 형식 | Default value | Description |
---|---|---|---|
allowSkillsetToReadFileData |
boolean |
False |
true이면 Blob 데이터 원본에서 다운로드한 원래 파일 데이터를 나타내는 개체인 경로 //document//file_data 만듭니다. 이렇게 하면 보강 파이프라인 내의 처리를 위한 사용자 지정 기술 또는 문서 추출 기술에 원본 파일 데이터를 전달할 수 있습니다. |
dataToExtract | 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 | standard |
인덱서가 실행되어야 하는 환경을 지정합니다. |
|
failOnUnprocessableDocument |
boolean |
False |
Azure Blob의 경우 문서 인덱싱에 실패할 경우 인덱싱을 계속하려면 false로 설정합니다. |
failOnUnsupportedContentType |
boolean |
False |
Azure Blob의 경우 지원되지 않는 콘텐츠 형식이 발견될 때 인덱싱을 계속하려면 false로 설정하고 모든 콘텐츠 형식(파일 확장명)을 미리 알 수 없습니다. |
firstLineContainsHeaders |
boolean |
True |
CSV Blob의 경우 각 Blob의 첫 번째(비어 있지 않은) 줄에 헤더가 포함되어 있음을 나타냅니다. |
imageAction | 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 | default |
Azure Blob 데이터 원본에서 인덱싱하기 위한 구문 분석 모드를 나타냅니다. |
|
pdfTextRotationAlgorithm | 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 |
Azure Key Vault에서 만드는 암호화 키에 대한 설명입니다. 이 키는 Microsoft가 아닌 누구도 암호를 해독할 수 없다는 완전한 보증을 원할 때 인덱서 정의(및 인덱서 실행 상태)에 대한 추가 수준의 미사용 암호화를 제공하는 데 사용됩니다. 인덱서 정의를 암호화한 후에는 항상 암호화된 상태로 유지됩니다. 검색 서비스는 이 속성을 null로 설정하려는 시도를 무시합니다. 암호화 키를 회전하려는 경우 필요에 따라 이 속성을 변경할 수 있습니다. 인덱서 정의(및 인덱서 실행 상태)는 영향을 받지 않습니다. 고객 관리형 키를 사용한 암호화는 무료 검색 서비스에 사용할 수 없으며 2019년 1월 1일 이후 생성된 유료 서비스에만 사용할 수 있습니다. |
||
fieldMappings |
데이터 원본의 필드와 인덱스의 해당 대상 필드 간의 매핑을 정의합니다. |
||
name |
string |
인덱서의 이름입니다. |
|
outputFieldMappings |
출력 필드 매핑은 보강 후 및 인덱싱 바로 전에 적용됩니다. |
||
parameters |
인덱서 실행에 대한 매개 변수입니다. |
||
schedule |
이 인덱서의 일정입니다. |
||
skillsetName |
string |
이 인덱서로 실행되는 기술 세트의 이름입니다. |
|
targetIndexName |
string |
이 인덱서가 데이터를 쓰는 인덱스의 이름입니다. |
SearchResourceEncryptionKey
Azure Key Vault의 고객 관리형 암호화 키입니다. 만들고 관리하는 키를 사용하여 인덱스 및 동의어 맵과 같은 미사용 데이터를 암호화하거나 암호 해독할 수 있습니다.
Name | 형식 | Description |
---|---|---|
accessCredentials |
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는 |