이 문서에서는 Azure AI Search에서 인덱싱 및 AI 보강 중에 발생할 수 있는 일반적인 오류 및 경고에 대한 정보와 솔루션을 제공합니다.
오류 수가 'maxFailedItems'를 초과하면 인덱싱이 중지됩니다.
"만약 인덱서가 이러한 오류를 무시하고 '실패한 문서'를 건너뛰도록 하고 싶다면, maxFailedItems에 설명된 대로 maxFailedItemsPerBatch 및 을 업데이트하는 것이 좋습니다."
비고
실패한 각 문서와 문서 키(사용 가능한 경우)는 인덱서 실행 상태에 오류로 표시됩니다. 인덱서를 설정하여 오류를 허용하도록 설정한 경우 인덱스 API 를 사용하여 나중에 문서를 수동으로 업로드할 수 있습니다.
이 문서의 오류 정보는 오류를 해결하는 데 도움이 되므로 인덱싱을 계속할 수 있습니다.
경고는 인덱싱을 중지하지 않지만 예기치 않은 결과를 초래할 수 있는 조건을 나타냅니다. 조치를 취하는지 여부는 데이터 및 시나리오에 따라 달라집니다.
특정 인덱서 오류는 어디에서 찾을 수 있나요?
Azure Portal에서 인덱서 상태를 확인하고 오류를 식별하려면 다음 단계를 수행합니다.
Azure Portal에 로그인하고 검색 서비스를 찾습니다.
왼쪽에서 검색 관리을 확장한 다음, >인덱서를 선택합니다.
실행 기록에서 상태를 선택합니다. 성공을 포함한 모든 상태에는 실행에 대한 세부 정보가 있습니다.
오류가 발생하면 오류 메시지를 마우스로 가리킵니다. 오류에 대한 자세한 정보가 표시된 창이 화면 오른쪽에 나타납니다.
일시적 오류
일시적인 네트워크 통신 중단, 장기 실행 프로세스의 시간 제한 또는 특정 문서 뉘앙스와 같은 다양한 이유로 인덱서 실행 중에 일시적인 오류 또는 경고가 발생하는 것이 일반적입니다. 그러나 이러한 오류는 일시적이므로 후속 인덱서 실행에서 해결해야 합니다.
이러한 오류를 효과적으로 관리하려면 인 덱서를 일정(예: 5분마다 실행)에 배치하는 것이 좋습니다. 여기서 다음 실행은 첫 번째 실행을 완료한 후 5분 후에 시작되며 서비스의 최대 런타임 제한을 준수합니다. 정기적으로 예약된 실행은 일시적인 오류 또는 경고를 수정하는 데 도움이 됩니다.
여러 인덱서 실행 시 오류가 지속되면 일시적인 문제가 아닐 수 있습니다. 이러한 경우 잠재적인 해결 방법은 아래 목록을 참조하세요.
오류 속성
| 재산 | 설명 | 예시 |
|---|---|---|
| 열쇠 | 오류 또는 경고의 영향을 받는 문서의 ID입니다. | 기본 ID가 메타데이터 스토리지 경로인 Azure Storage 예제: https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
| 이름 | 오류 또는 경고를 발생시키는 작업입니다. 이 값은 다음과 같은 구조 [category]로 생성됩니다. .[subcategory].[resourceType].[resourceName] |
DocumentExtraction.azureblob.myBlobContainerName
Enrichment.WebApiSkill.mySkillName
Projection.SearchIndex.OutputFieldMapping.myOutputFieldName
Projection.SearchIndex.MergeOrUpload.myIndexName
Projection.KnowledgeStore.Table.myTableName
|
| 메시지 | 오류 또는 경고에 대한 개략적인 설명입니다. | Could not execute skill because the Web Api request failed. |
| 세부 정보 | 사용자 지정 기술 실행이 실패한 경우 WebApi 응답과 같이 문제를 진단하는 데 도움이 될 수 있는 특정 정보입니다. | link-cryptonyms-list - Error processing the request record : System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.All[TSource](IEnumerable 1 source, Func 2 predicate) at Microsoft.CognitiveSearch.WebApiSkills.JfkWebApiSkills. ...rest of stack trace... |
| DocumentationLink | 문제를 디버그하고 해결하기 위한 자세한 정보가 포함된 관련 설명서에 대한 링크입니다. 이 링크는 종종 이 페이지의 아래 섹션 중 하나를 가리킵니다. | https://go.microsoft.com/fwlink/?linkid=2106475 |
Error: Could not read document
인덱서가 데이터 원본에서 문서를 읽을 수 없습니다. 이 문제는 다음과 같은 경우에 발생할 수 있습니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 여러 문서에서 필드 형식이 일치하지 않음 |
Type of value has a mismatch with column type. Couldn't store '{47.6,-122.1}' in authors column. Expected type is JArray.
Error converting data type nvarchar to float.
Conversion failed when converting the nvarchar value '12 months' to data type int.
Arithmetic overflow error converting expression to data type int.
|
각 필드의 형식이 서로 다른 문서에서 동일한지 확인합니다. 예를 들어 첫 번째 문서 'startTime' 필드가 DateTime이고 두 번째 문서에서 문자열인 경우 이 오류가 발생합니다. |
| 데이터 원본의 기본 서비스에서 발생하는 오류 | Azure Cosmos DB에서: {"Errors":["Request rate is large"]} |
스토리지 인스턴스가 정상인지 확인합니다. 크기 조정 또는 분할을 조정해야 할 수도 있습니다. |
| 일시적인 문제 | A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host |
경우에 따라 예기치 않은 연결 문제가 있습니다. 나중에 인덱서를 통해 문서를 다시 실행해 보세요. |
Error: Could not extract content or metadata from your document
Blob 데이터 원본이 있는 인덱서가 문서에서 콘텐츠 또는 메타데이터를 추출할 수 없습니다(예: PDF 파일). 이 문제는 다음과 같은 경우에 발생할 수 있습니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| Blob이 크기 제한을 초과했습니다. | Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. |
Blob 인덱싱 오류 |
| Blob에 지원되지 않는 콘텐츠 형식이 있습니다. | Document has unsupported content type 'image/png' |
Blob 인덱싱 오류 |
| Blob이 암호화됨 | Document could not be processed - it may be encrypted or password protected. |
Blob 설정을 사용하여 Blob을 건너뛸 수 있습니다. |
| 일시적인 문제 |
Error processing blob: The request was aborted: The request was canceled.
Document timed out during processing.
|
경우에 따라 예기치 않은 연결 문제가 있습니다. 나중에 인덱서를 통해 문서를 다시 실행해 보세요. |
Error: Could not parse document
인덱서는 데이터 원본에서 문서를 읽었지만 문서 내용을 지정된 필드 매핑 스키마로 변환하는 데 문제가 있었습니다. 이 문제는 다음과 같은 경우에 발생할 수 있습니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 문서 키가 없습니다. | Document key cannot be missing or empty |
모든 문서에 유효한 문서 키가 있는지 확인합니다. 문서 키는 인 덱스 정의의 일부로 'key' 속성을 설정하여 결정됩니다. 인덱서는 특정 문서에서 '키'로 플래그가 지정된 속성을 찾을 수 없는 경우 이 오류를 내보낸다. |
| 문서 키가 잘못되었습니다. | Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). |
모든 문서에 유효한 문서 키가 있는지 확인합니다. 자세한 내용은 Blob Storage 인덱싱 을 검토하세요. BLOB 인덱서를 사용 중이고 문서 키가 metadata_storage_path 필드인 경우, 인덱서 정의에 일반 텍스트의 경로 대신 이(가) parameters인 null가 있는지 확인합니다. |
| 문서 키가 잘못되었습니다. | Document key cannot be longer than 1024 characters |
유효성 검사 요구 사항을 충족하도록 문서 키를 수정합니다. |
| 필드에 필드 매핑을 적용할 수 없음 | Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes |
인덱서에 정의된 필드 매핑을 다시 확인하고 실패한 문서의 지정된 필드 데이터와 비교합니다. 필드 매핑 또는 문서 데이터를 수정해야 할 수도 있습니다. |
| 필드 값을 읽을 수 없음 | Could not read the value of column 'fieldName' at index 'fieldIndex'. A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) |
이러한 오류는 일반적으로 데이터 원본의 기본 서비스에 대한 예기치 않은 연결 문제로 인해 발생합니다. 나중에 인덱서를 통해 문서를 다시 실행해 보세요. |
Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'
출력 데이터가 사용 중인 매핑 함수의 형식이 잘못되었기 때문에 출력 매핑이 실패했을 수 있습니다. 예를 들어 이진 데이터에 매핑 함수를 Base64Encode 적용하면 이 오류가 생성됩니다. 이 문제를 해결하려면 매핑 함수를 지정하지 않고 인덱서 다시 실행하거나 매핑 함수가 출력 필드 데이터 형식과 호환되는지 확인합니다. 자세한 내용은 출력 필드 매핑 을 참조하세요.
Error: Could not execute skill
인덱서에서 기술 세트의 기술을 실행할 수 없습니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 일시적인 연결 문제 | 일시적인 오류가 발생했습니다. 나중에 다시 시도하세요. | 경우에 따라 예기치 않은 연결 문제가 있습니다. 나중에 인덱서를 통해 문서를 다시 실행해 보세요. |
| 잠재적인 제품 버그 | 예기치 않은 오류가 발생했습니다. | 알 수 없는 오류 클래스를 나타내며 제품 버그를 나타낼 수 있습니다. 지원 티켓을 제출하여 도움을 받으세요. |
| 실행하는 동안 기술에 오류가 발생했습니다. | (병합 기술) 하나 이상의 오프셋 값이 잘못되었으며 구문 분석할 수 없습니다. 텍스트 끝에 항목이 삽입되었습니다. | 오류 메시지의 정보를 사용하여 문제를 해결합니다. 이러한 종류의 실패를 해결하려면 작업이 필요합니다. |
Error: Could not execute skill because the Web API request failed
Web API 호출이 실패하여 기술 실행이 실패했습니다. 일반적으로 이 오류 클래스는 사용자 지정 기술을 사용할 때 발생하며, 이 경우 문제를 해결하기 위해 사용자 지정 코드를 디버그해야 합니다. 대신 기본 제공 기술에서 오류가 발생한 경우 문제 해결에 대한 도움말은 오류 메시지를 참조하세요.
이 문제를 디버깅하는 동안 이 기술에 대한 기술 입력 경고에 주의해야 합니다. 인덱서가 예기치 않은 입력을 전달하기 때문에 Web API 엔드포인트가 실패할 수 있습니다.
Error: Could not execute skill because Web API skill response is invalid
Web API 호출이 잘못된 응답을 반환했기 때문에 기술 실행이 실패했습니다. 일반적으로 이 오류 클래스는 사용자 지정 기술을 사용할 때 발생하며, 이 경우 문제를 해결하기 위해 사용자 지정 코드를 디버그해야 합니다. 대신 기본 제공 기술에서 오류가 발생한 경우 지원 티켓을 제출하여 지원을 받으세요.
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
데이터 원본에 인덱스로 매핑하려는 필드와 다른 데이터 형식의 필드가 있는 경우 이 오류가 발생할 수 있습니다. 데이터 원본 필드 데이터 형식을 확인하고 인덱스 데이터 형식에 올바르게 매핑되었는지 확인합니다.
Error: Skill did not execute within the time limit
이 오류 메시지가 발생할 수 있는 두 가지 경우는 각각 다르게 처리되어야 합니다. 이 오류를 반환한 기술에 따라 아래 지침을 따릅니다.
기본 제공형 Foundry Tools 기술
언어 감지, 엔터티 인식 또는 OCR과 같은 대부분의 기본 제공 인식 기술은 Foundry Tools API 엔드포인트에서 지원됩니다. 경우에 따라 이러한 엔드포인트에 일시적인 문제가 있으며 요청 시간이 초과됩니다. 일시적인 문제의 경우 기다렸다가 다시 시도하는 것 외에는 해결 방법이 없습니다. 완화를 위해 인덱서가 일정에 따라 실행되도록 설정하는 것이 좋습니다. 예약된 인덱싱은 이전에 중단되었던 위치를 선택합니다. 일시적인 문제가 해결되었다고 가정할 때 인덱싱 및 인지 기술 처리는 다음 예약된 실행에서 계속할 수 있어야 합니다.
기본 제공 인식 기술에 대해 동일한 문서에서 이 오류가 계속 표시되는 경우 지원 티켓을 제출하여 지원을 받을 수 있습니다.이 오류는 예상되지 않습니다.
사용자 지정 기술
사용자 지정 기술로 시간 제한 오류가 발생하는 경우 몇 가지 작업을 시도할 수 있습니다. 먼저 사용자 지정 기술을 검토하고 무한 루프에 갇히지 않고 결과를 일관되게 반환하는지 확인합니다. 결과가 반환되었는지 확인한 후에는 실행 기간을 확인합니다. 사용자 지정 기술 정의에서 값을 명시적으로 설정 timeout 하지 않은 경우 기본값 timeout 은 30초입니다. 30초가 스킬을 실행하기에 충분하지 않은 경우 사용자 지정 기술 정의에 더 높은 timeout 값을 지정할 수 있습니다. 시간 제한이 90초로 설정된 사용자 지정 기술 정의의 예는 다음과 같습니다.
{
"@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
"uri": "<your custom skill uri>",
"batchSize": 1,
"timeout": "PT90S",
"context": "/document",
"inputs": [
{
"name": "input",
"source": "/document/content"
}
],
"outputs": [
{
"name": "output",
"targetName": "output"
}
]
}
매개 변수에 대해 timeout 설정할 수 있는 최대값은 230초입니다. 사용자 지정 기술을 230초 이내에 일관되게 실행할 수 없는 경우 단일 실행 내에서 처리할 문서가 줄어들도록 사용자 지정 기술의 축소 batchSize 를 고려할 수 있습니다. 이미 1로 설정한 batchSize 경우 단일 사용자 지정 기술에 대한 실행 시간이 최대 230초가 되도록 230초 미만으로 실행할 수 있도록 기술을 다시 작성하거나 여러 사용자 지정 기술로 분할해야 합니다. 자세한 내용은 사용자 지정 기술 설명서를 검토하세요.
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
문서를 읽고 처리했지만 인덱서에서 검색 인덱스로 추가할 수 없습니다. 이 문제는 다음과 같은 경우에 발생할 수 있습니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 필드에 너무 큰 용어가 포함되어 있습니다. | 문서의 용어가 32KB 제한보다 큰 경우 | 필드가 필터링 가능, 패싯 가능 또는 정렬 가능으로 구성되지 않도록 하여 이 제한을 방지할 수 있습니다. |
| 문서가 너무 커서 인덱싱할 수 없습니다. | 문서가 최대 API 요청 크기보다 큰 경우 | 큰 데이터 집합을 인덱싱하는 방법 |
| 컬렉션에 너무 많은 개체가 포함된 문서 | 문서의 컬렉션이 모든 복합 컬렉션 제한의 최대 요소를 초과합니다. The document with key '1000052' has '4303' objects in collections (JSON arrays). At most '3000' objects are allowed to be in collections across the entire document. Remove objects from collections and try indexing the document again. |
문서의 복합 컬렉션 크기를 한도 이하로 줄이고 스토리지 사용률이 높지 않도록 하는 것이 좋습니다. |
| 서비스가 쿼리 또는 인덱싱과 같은 다른 부하를 받고 있기 때문에 대상 인덱스에 연결하는 데 문제가 있습니다(재시도 후에도 유지됨). | 인덱스 업데이트에 대한 연결을 설정하지 못했습니다. 검색 서비스가 많은 부하를 받고 있습니다. | 검색 서비스 강화 |
| 서비스 업데이트를 위해 검색 서비스가 패치되거나 토폴로지 재구성의 중간에 있습니다. | 인덱스 업데이트에 대한 연결을 설정하지 못했습니다. 검색 서비스가 현재 중단되었습니다/Search 서비스가 전환 중입니다. | 서비스를 99.9% 가용성이 되도록 3개 이상의 복제본으로 구성하십시오. 이는 SLA 설명서에 따릅니다. |
| 기본 컴퓨팅/네트워킹 리소스의 오류(드문 경우) | 인덱스 업데이트에 대한 연결을 설정하지 못했습니다. 알 수 없는 오류가 발생했습니다. | 일정에 따라 실행하여 실패 상태에서 선택할 수 있도록 인덱서를 구성합니다. |
| 네트워크 문제로 인해 시간 제한 기간 내에 대상 인덱싱에 대한 인덱싱 요청이 승인되지 않았습니다. | 적시에 검색 인덱스 연결을 설정할 수 없습니다. | 일정에 따라 실행하여 실패 상태에서 선택할 수 있도록 인덱서를 구성합니다. 또한 이 오류 조건이 지속되는 경우 인덱서 일괄 처리 크기를 줄여 보세요. |
Error: Could not index document because some of the document's data was not valid
인덱서에서 문서를 읽고 처리했지만 인덱스 필드의 구성이 일치하지 않고 인덱서에서 추출 및 처리한 데이터가 일치하지 않아 검색 인덱스로 추가할 수 없습니다. 이 문제는 다음과 같은 경우에 발생할 수 있습니다.
| 이유 | 세부 정보/예제 |
|---|---|
| 인덱서에서 추출한 하나 이상의 필드의 데이터 형식은 해당 대상 인덱스 필드의 데이터 모델과 호환되지 않습니다. | The data field '_data_' in the document with key '888' has an invalid value 'of type 'Edm.String''. The expected type was 'Collection(Edm.String)'. |
| 문자열 값에서 JSON 엔터티를 추출하지 못했습니다. |
Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON object.
Error:'After parsing a value an unexpected character was encountered: ''. Path '_path_', line 1, position 3162.'
|
| 문자열 값에서 JSON 엔터티 컬렉션을 추출하지 못했습니다. |
Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON array.
Error:'After parsing a value an unexpected character was encountered: ''. Path '[0]', line 1, position 27.'
|
| 소스 문서에서 알 수 없는 형식이 발견되었습니다. | Unknown type '_unknown_' cannot be indexed |
| 원본 문서에서 지리 지점에 대한 호환되지 않는 표기법이 사용되었습니다. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
이러한 모든 경우에서 인덱서에 대해 지원되는 데이터 형식 및 데이터 형식 맵을 참조하여 인덱스 스키마를 올바르게 빌드하고 적절한 인덱서 필드 매핑을 설정했는지 확인합니다. 오류 메시지에는 불일치의 원인을 추적하는 데 도움이 되는 세부 정보가 포함되어 있습니다.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
이는 SQL 테이블에 적용되며, 일반적으로 키가 복합 키로 정의되거나 테이블이 고유한 클러스터형 인덱스를 정의한 경우(Azure Search 인덱스가 아닌 SQL 인덱스) 발생합니다. 주요 이유는 키 특성이 고유한 클러스터형 인덱스에서 복합 기본 키로 수정되기 때문입니다. 이 경우 SQL 테이블에 고유한 클러스터형 인덱스가 없거나 키 필드를 중복 값이 없는 필드에 매핑해야 합니다.
Error: Could not process document within indexer max run time
이 오류는 인덱서가 허용된 실행 시간 내에 데이터 원본에서 단일 문서 처리를 완료할 수 없는 경우에 발생합니다. 기술 세트를 사용하는 경우 최대 실행 시간이 짧습니다. 이 오류가 발생하면 maxFailedItems가 0이 아닌 값으로 설정된 경우 인덱싱이 진행될 수 있도록 인덱서는 이후 실행 시 문서를 무시합니다. 문서를 건너뛸 여유가 없거나 이 오류가 일관되게 표시되는 경우 단일 인덱서 실행 내에서 부분 진행을 수행할 수 있도록 문서를 더 작은 문서로 나누는 것이 좋습니다.
Error: Could not project document
이 오류는 인덱서가 지식 저장소에 데이터를 프로젝팅 하려고 시도하고 시도에 실패했을 때 발생합니다. 이 오류는 일관되고 수정할 수 있거나 프로젝션 출력 싱크에서 일시적인 오류일 수 있으며, 이를 해결하기 위해 대기하고 다시 시도해야 할 수 있습니다. 다음은 알려진 오류 상태 및 가능한 해결 방법 집합입니다.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
컨테이너에서 프로젝션 Blob 'blobUri' 을 업데이트할 수 없습니다. 'containerName' |
지정된 컨테이너가 없습니다. | 인덱서는 지정된 컨테이너가 이전에 만들어졌는지 확인하고 필요한 경우 만들지만 인덱서 실행당 한 번만 이 검사를 수행합니다. 이 오류는 이 단계 후에 컨테이너를 삭제했음을 의미합니다. 이 오류를 해결하려면 스토리지 계정 정보를 그대로 두고 인덱서가 완료될 때까지 기다린 다음 인덱서 다시 실행합니다. |
컨테이너에서 프로젝션 Blob 'blobUri' 을 업데이트할 수 없습니다. 'containerName' |
전송 연결에 데이터를 쓸 수 없음: 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다. | 이는 Azure Storage에서 일시적인 오류로 예상되므로 인덱서 다시 실행하여 해결해야 합니다. 이 오류가 지속적으로 발생하는 경우 추가로 조사할 수 있도록 지원 티켓을 제출합니다. |
테이블에서 행 'projectionRow' 을 업데이트할 수 없습니다. 'tableName' |
서버가 사용 중입니다. | 이는 Azure Storage에서 일시적인 오류로 예상되므로 인덱서 다시 실행하여 해결해야 합니다. 이 오류가 지속적으로 발생하는 경우 추가로 조사할 수 있도록 지원 티켓을 제출합니다. |
Error: The cognitive service for skill '<skill-name>' has been throttled
Foundry 도구 호출이 제한되었으므로 기술 실행이 실패했습니다. 일반적으로 이 오류 클래스는 너무 많은 기술이 병렬로 실행되는 경우에 발생합니다. Microsoft.Search.Documents 클라이언트 라이브러리를 사용하여 인덱서를 실행하는 경우 SearchIndexingBufferedSender를 사용하여 실패한 단계에서 자동 재시도를 가져올 수 있습니다. 그렇지 않으면 인덱서 다시 설정하고 다시 실행할 수 있습니다.
Error: Expected IndexAction metadata
'예상 IndexAction 메타데이터' 오류는 인덱서가 어떤 작업을 수행해야 하는지 식별하기 위해 문서를 읽으려고 할 때 문서에서 해당 메타데이터를 찾지 못했음을 의미합니다. 일반적으로 이 오류는 인덱서에 주석 캐시가 추가되거나 제거되어 인덱서가 다시 설정되지 않은 경우에 발생합니다. 이 문제를 해결하려면 인덱서 다시 설정하고 다시 실행해야 합니다.
Warning: Skill input was invalid
기술에 대한 입력이 누락되었거나, 형식이 잘못되었거나, 그렇지 않으면 유효하지 않습니다. 다음 정보가 표시될 수 있습니다.
Could not execute skillSkill executed but may have unexpected results
인지 기술에는 필수 입력 및 선택적 입력이 있습니다. 예를 들어 핵심 구 추출 기술에는 두 개의 필수 입력이 textlanguageCode있으며 선택적 입력은 없습니다. 사용자 지정 기술 입력은 모두 선택적 입력으로 간주됩니다.
필요한 입력이 없거나 입력이 올바른 형식이 아닌 경우 기술을 건너뛰고 경고를 생성합니다. 건너뛴 스킬은 출력을 생성하지 않습니다. 다운스트림 기술에서 건너뛴 기술의 출력을 사용하는 경우 다른 경고를 생성할 수 있습니다.
선택적 입력이 누락된 경우 기술은 계속 실행되지만 누락된 입력으로 인해 예기치 않은 출력이 생성될 수 있습니다.
두 경우 모두 이 경고는 데이터의 모양 때문입니다. 예를 들어, firstName, middleName, 및 lastName 필드가 있는 사람들에 대한 정보를 포함하는 문서가 있는 경우, middleName 항목이 포함되지 않은 일부 문서가 있을 수 있습니다. 파이프라인의 스킬에 middleName를 입력으로 제공할 경우, 가끔 이 스킬 입력이 누락될 것으로 예상됩니다. 데이터 및 시나리오를 평가하여 이 경고의 결과로 작업이 필요한지 여부를 확인해야 합니다.
누락된 입력에 대한 기본값을 제공하려는 경우 조건부 기술을 사용하여 기본값을 생성한 다음 조건부 기술의 출력을 기술 입력으로 사용할 수 있습니다.
{
"@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
"context": "/document",
"inputs": [
{ "name": "condition", "source": "= $(/document/language) == null" },
{ "name": "whenTrue", "source": "= 'en'" },
{ "name": "whenFalse", "source": "= $(/document/language)" }
],
"outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 기술 입력이 잘못된 형식입니다. | "필수 기술 입력이 예상 형식 String이 아닙니다. 이름: text, 원본: /document/merged_content" "필요한 기술 입력이 예상 형식이 아니었습니다. 이름: text, 원본: /document/merged_content" "배열/document/normalized_images/0/imageCelebrities/0/detail/celebrities이 아닌 경우 반복할 수 없습니다." "비 배열0에서 선택할 /document/normalized_images/0/imageCelebrities/0/detail/celebrities 수 없습니다." |
특정 기술에는 특정 형식의 입력이 필요합니다. 예를 들어 감정 기술은 문자열이 될 것으로 예상됩니다 text . 입력이 문자열이 아닌 값을 지정하는 경우 기술은 실행되지 않고 출력을 생성하지 않습니다. 데이터 집합에 입력 값이 균일한 형식인지 확인하거나 사용자 지정 Web API 기술을 사용하여 입력을 전처리합니다. 배열을 통해 기술을 반복하는 경우 기술 컨텍스트와 입력 * 이 올바른 위치에 있는지 확인합니다. 일반적으로 배열의 경우, 컨텍스트와 입력 소스 모두 *로 끝나야 합니다. |
| 기술 입력이 없습니다. |
Required skill input is missing. Name: text, Source: /document/merged_content
Missing value /document/normalized_images/0/imageTags.
Unable to select 0 in array /document/pages of length 0.
|
모든 문서에 대해 이 경고가 발생하면 입력 경로에 오타가 있을 수 있습니다. 속성 이름의 대/소문자를 확인합니다. 경로에 추가 항목 또는 누락 * 된 항목이 있는지 확인합니다. 데이터 원본의 문서가 필요한 입력을 제공하는지 확인합니다. |
| 기술 언어 코드 입력이 잘못되었습니다. | 기술 입력 languageCode 에는 다음 언어 코드가 있으며 X,Y,Z, 그 중 하나 이상이 잘못되었습니다. |
자세한 내용은 아래를 참조하세요. |
Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.
다운스트림 기술의 선택적 languageCode 입력에 전달된 값 중 하나 이상이 지원되지 않습니다. 이는 LanguageDetectionSkill 의 출력을 후속 기술에 전달하는 경우 발생할 수 있으며 출력은 해당 다운스트림 기술에서 지원되는 것보다 더 많은 언어로 구성됩니다.
잘못된 countryHint 입력이 LanguageDetectionSkill에 전달되면 이 경고와 유사한 경고를 받을 수도 있습니다. 이 경우 해당 입력에 대해 데이터 원본에서 사용하는 필드에 유효한 ISO 3166-1 alpha-2 두 개의 문자 국가 코드가 포함되어 있는지 확인합니다. 일부는 유효하고 일부는 유효하지 않은 경우, 다음 지침을 계속 따르되, 사용 사례에 맞추어 languageCode를 countryHint로, defaultLanguageCode를 defaultCountryHint로 대체하십시오.
데이터 집합이 모두 한 언어로 된 것을 알고 있는 경우 LanguageDetectionSkill 및 languageCode 기술 입력을 제거하고 해당 기술에 대해 언어가 지원되는 경우 해당 기술에 대한 기술 매개 변수를 대신 사용해야 defaultLanguageCode 합니다.
데이터 세트에 여러 언어가 포함되어 있으므로 LanguageDetectionSkill 및 languageCode 입력이 필요한 경우 텍스트를 다운스트림 기술에 전달하기 전에 지원되지 않는 언어로 텍스트를 필터링하는 ConditionalSkill 을 추가하는 것이 좋습니다. EntityRecognitionSkill에 대한 예제는 다음과 같습니다.
{
"@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
"context": "/document",
"inputs": [
{ "name": "condition", "source": "= $(/document/language) == 'de' || $(/document/language) == 'en' || $(/document/language) == 'es' || $(/document/language) == 'fr' || $(/document/language) == 'it'" },
{ "name": "whenTrue", "source": "/document/content" },
{ "name": "whenFalse", "source": "= null" }
],
"outputs": [ { "name": "output", "targetName": "supportedByEntityRecognitionSkill" } ]
}
다음은 이 오류 메시지를 생성할 수 있는 각 기술에 대해 현재 지원되는 언어에 대한 몇 가지 참조입니다.
- EntityRecognitionSkill 지원 언어
- EntityLinkingSkill 지원 언어
- KeyPhraseExtractionSkill 지원 언어
- LanguageDetectionSkill 지원 언어
- PIIDetectionSkill 지원 언어
- SentimentSkill 지원 언어
- Translator 지원 언어
-
Text SplitSkill 지원 언어:
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
인지 기술은 한 번에 분석할 수 있는 텍스트의 길이를 제한합니다. 텍스트 입력이 제한을 초과하면 보강되기 전에 텍스트가 잘립니다. 기술이 실행되지만 모든 데이터에 대해 실행되지는 않습니다.
아래 예제 LanguageDetectionSkill 에서는 입력이 'text' 문자 제한을 초과하면 입력 필드가 이 경고를 트리거할 수 있습니다. 입력 제한은 기술 참조 설명서에서 찾을 수 있습니다.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
모든 텍스트를 분석하려면 분할 기술을 사용하는 것이 좋습니다.
Warning: Web API skill response contains warnings
인덱서에서 기술 세트의 기술을 실행했지만 웹 API 요청의 응답에서 경고가 있음을 나타냅니다. 경고를 검토하여 데이터가 영향을 미치는 방식과 추가 작업이 필요한지 여부를 이해합니다.
Warning: The current indexer configuration does not support incremental progress
이 경고는 Azure Cosmos DB 데이터 원본에 대해서만 발생합니다.
인덱싱 중 증분 진행률로 인해 인덱서 실행이 일시적 오류 또는 실행 시간 제한에 의해 중단되는 경우 인덱서는 전체 컬렉션을 처음부터 다시 인덱싱하지 않고도 다음에 실행될 때 중단된 위치를 선택할 수 있습니다. 이는 큰 컬렉션을 인덱싱할 때 특히 중요합니다.
완료되지 않은 인덱싱 작업을 다시 시작하려면 _ts 열 기준으로 정렬된 문서가 있어야 합니다. 인덱서는 타임스탬프를 사용하여 다음에 선택할 문서를 결정합니다. 열이 _ts 없거나 인덱서에서 사용자 지정 쿼리의 순서를 확인할 수 없는 경우 인덱서가 처음부터 시작되고 이 경고가 표시됩니다.
assumeOrderByHighWaterMarkColumn 구성 속성을 사용하여 증분 진행을 사용하도록 설정하고 이 경고를 표시하지 않도록 이 동작을 재정의할 수 있습니다.
자세한 내용은 증분 진행률 및 사용자 지정 쿼리를 참조하세요.
Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.
Table Storage 서비스는 엔터티 특성의 크기에 제한이 있습니다. 문자열은 32,000자 이하일 수 있습니다. 문자열 속성이 32,000자보다 긴 행이 프로젝스되는 경우 처음 32,000자만 유지됩니다. 이 문제를 해결하려면 문자열 속성이 32,000자보다 긴 행을 프로젝팅하지 마세요.
Warning: Truncated extracted text to X characters
인덱서는 한 문서에서 추출할 수 있는 텍스트의 양을 제한합니다. 이 제한은 가격 책정 계층에 따라 달라집니다. 무료 계층의 경우 32,000자, 기본 계층 64,000자, 표준 400만 문자, 표준 S2의 경우 800만 문자, 표준 S3의 경우 1,600만 문자입니다. 잘린 텍스트는 인덱싱되지 않습니다. 이 경고를 방지하려면 텍스트가 많은 문서를 더 작은 여러 문서로 분리해 보세요.
자세한 내용은 인덱서 제한을 참조하세요.
Warning: Could not map output field 'X' to search index
존재하지 않는/null 데이터를 참조하는 출력 필드 매핑은 각 문서에 대한 경고를 생성하고 빈 인덱스 필드를 생성합니다. 이 문제를 해결하려면 출력 필드 매핑 원본 경로에서 가능한 오타를 다시 확인하거나 조건부 기술을 사용하여 기본값을 설정합니다. 자세한 내용은 출력 필드 매핑 을 참조하세요.
| 이유 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 배열이 아닌 항목을 반복할 수 없습니다. | "배열 /document/normalized_images/0/imageCelebrities/0/detail/celebrities이 아닌 경우 반복할 수 없습니다." |
이 오류는 출력이 배열이 아닌 경우에 발생합니다. 출력이 배열이어야 한다고 생각되는 경우 표시된 출력 원본 필드 경로에서 오류를 확인합니다. 예를 들어 원본 필드 이름에 누락되거나 추가 * 항목이 있을 수 있습니다. 이 기술에 대한 입력이 null이면 빈 배열이 생성될 수도 있습니다. 유사한 세부 정보를 기술 입력이 잘못되었습니다 섹션에서 찾으십시오. |
비 배열에서 0를 선택할 수 없음 |
"비 배열0에서 선택할 /document/pages 수 없습니다." |
기술 출력이 배열을 생성하지 않거나 출력의 원본 필드 이름에 배열 인덱스 또는 *이 경로에 있는 경우에 발생할 수 있습니다. 출력 원본 필드 이름에 제공된 경로와 표시된 필드 이름의 필드 값을 다시 확인합니다. 유사한 세부 정보를 기술 입력이 잘못되었습니다 섹션에서 찾으십시오. |
Warning: The data change detection policy is configured to use key column 'X'
데이터 변경 검색 정책에 는 변경을 검색하는 데 사용하는 열에 대한 특정 요구 사항이 있습니다. 이러한 요구 사항 중 하나는 원본 항목이 변경될 때마다 이 열이 업데이트된다는 것입니다. 또 다른 요구 사항은 이 열의 새 값이 이전 값보다 크다는 것입니다. 키 열은 모든 업데이트에서 변경되지 않으므로 이 요구 사항을 충족하지 않습니다. 이 문제를 해결하려면 변경 검색 정책에 대해 다른 열을 선택합니다.
Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark
인덱서 구문 분석 모드는 텍스트를 구문 분석하기 전에 인코딩 방식을 알아야 합니다. 텍스트를 인코딩하는 가장 일반적인 두 가지 방법은 UTF-16 및 UTF-8입니다. UTF-8은 각 문자가 1바이트에서 4바이트 사이인 가변 길이 인코딩입니다. UTF-16은 각 문자의 길이가 2바이트인 고정 길이 인코딩입니다. UTF-16에는 두 가지 변형이 big endian 있습니다 little endian. 텍스트 인코딩은 텍스트 앞에 있는 byte order mark일련의 바이트에 의해 결정됩니다.
| 인코딩 | 바이트 순서 표시 |
|---|---|
| UTF-16 빅 엔디안 | 0xFE 0xFF |
| UTF-16 리틀 엔디안 | 0xFF 0xFE |
| UTF-8 | 0xEF 0xBB 0xBF |
바이트 순서 표시가 없으면 텍스트가 UTF-8로 인코딩된 것으로 간주됩니다.
이 경고를 해결하려면 이 Blob의 텍스트 인코딩을 확인하고 적절한 바이트 순서 표시를 추가합니다.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
지연 인덱싱 정책이 있는 컬렉션은 일관되게 쿼리할 수 없으므로 인덱서에 데이터가 누락됩니다. 이 경고를 해결하려면 인덱싱 정책을 일관성으로 변경합니다.
Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.
이 경고는 Foundry 도구의 언어 서비스에서 전달됩니다. 경우에 따라 긴 문자열이 긴 URL인 경우와 같이 이 경고를 무시해도 안전합니다. 단어가 64자보다 길면 모델 예측에 영향을 줄 수 있는 64자로 잘립니다.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
인덱서에는 문서 크기 제한이 있습니다. 서비스 계층에 대해 설명된 대로 데이터 원본의 문서가 지원되는 크기 제한보다 작은지 확인합니다.
Error: Failed to compare value 'X' of type M to value 'Y' of type N.
이 오류는 일반적으로 사용되는 원본 열 형식 dataChangeDetectionPolicy 이 인덱서가 예상하는 것과 일치하지 않는 경우, 특히 켜져 있는 경우 convertHighWaterMarkToRowVersion Azure SQL 인덱서에서 발생합니다.
예를 들어 변경 검색에 사용되는 열이 datetime 형식이지만 convertHighWaterMarkToRowVersion을 사용하도록 설정했기 때문에 인덱서에 rowversion 형식이 예상되는 경우 불일치로 인해 오류가 발생합니다.
원본의 'High Water Mark' 열에 대한 데이터 형식을 확인하고 그에 따라 인덱서 구성을 업데이트합니다. 확인 및 업데이트되면 인덱서 다시 설정 및 다시 실행하여 열 값을 처리합니다.
Error: Access denied to Virtual Network/Firewall rules.
이 오류는 일반적으로 다음 중 하나로 인해 발생합니다.
- 구성에 따라 인덱서에 필요한 Azure 리소스에 대한 방화벽 제한입니다. 이러한 리소스에는 데이터 원본, Azure Storage 계정( 디버그 세션, 증분 보강 또는 지식 저장소에 사용), Azure Function( 웹 API 사용자 지정 기술에 사용됨) 또는 AI 보강 중에 사용되는 Microsoft Foundry 배포가 포함될 수 있습니다.
- 인덱서에서 해당 리소스로의 액세스를 차단하는 프라이빗 엔드포인트 구성입니다.
인덱서가 리소스 구성을 검토하여 필요한 모든 서비스에 대한 트래픽을 허용하는지 확인하여 설치 구성 요소에 액세스할 수 있는지 확인합니다.
Error: Credentials provided in the connection string are invalid or have expired.
이 오류는 Azure AI Search 인덱서가 제공된 연결 문자열을 사용하여 인증할 수 없거나 자격 증명을 확인하기 위해 스토리지 계정에 액세스하는 데 문제가 있는 경우에 발생합니다.
| 가능한 원인 | 세부 정보/예제 | 해결 방법 |
|---|---|---|
| 만료되거나 회전된 키 | 연결 문자열에는 더 이상 작동하지 않는 오래된 키가 포함되어 있습니다. | 연결 중인 리소스(예: Azure Storage 또는 Azure SQL)로 이동하고 키 기반 인증을 사용하는 경우 최신 액세스 키를 복사한 다음 그에 따라 데이터 원본 또는 연결 문자열을 업데이트합니다. |
| 관리 ID를 사용할 수 없거나 액세스 권한이 부여되지 않음 | AI Search 서비스 관리 ID 는 사용하도록 설정되어 있지만 필요한 액세스 역할이 부족합니다. | - 검색 서비스에서 시스템 또는 사용자 할당 관리 ID 를 사용하도록 설정합니다. - ID에 적절한 역할을 할당합니다(예 Storage Blob Data Reader : Blob 컨테이너의 경우). 각 데이터 원본 에는 고유한 권한 요구 사항이 있습니다. |
| 네트워크/방화벽은 ID 액세스를 차단합니다. | 연결한 리소스는 네트워크 액세스를 제한하도록 구성됩니다. | Azure AI Search 액세스를 허용하도록 네트워크 설정을 구성합니다. |
| 키 권한 부여를 사용하지 않도록 설정했습니다. | 공유 키 액세스는 원본에서 제거되었지만 Search 서비스 데이터 원본 구성은 여전히 키 기반 인증을 사용합니다. | 관리 ID 인증을 사용하고 역할 기반 권한이 있는지 확인합니다. 이는 Azure Storage 관점에서 공유 키 권한 부여 기능이 스토리지 계정 자체에서 차단되거나 엔터프라이즈 수준 Azure 정책을 통해 적용됨을 의미합니다. |