프로젝션 정의
지식 저장소에 저장할 데이터의 프로젝션은 인덱싱 프로세스에서 보강 파이프라인에 의해 생성된 문서 구조체를 기반으로 합니다. 기술 세트의 각 기술은 인덱싱되는 문서에 필요한 보강된 데이터의 JSON 표현을 반복적으로 빌드하며 문서의 필드 중 일부 또는 모두를 프로젝션으로 유지할 수 있습니다.
‘쉐이퍼’ 기술 사용
증분적으로 인덱싱하는 프로세스는 기술 세트에 있는 기술의 다양한 출력 필드를 포함하는 복잡한 문서를 만듭니다. 이로 인해 올바른 형식의 JSON에 쉽게 매핑되지 않는 기본 형식 데이터 값의 컬렉션을 포함하고 사용하기 어려운 스키마가 생성될 수 있습니다.
이러한 필드 값을 지식 저장소의 프로젝션에 간단히 매핑하기 위해 일반적으로 쉐이퍼 기술을 사용하여 프로젝션에 매핑할 필드의 더 단순한 구조체를 포함하는 새 필드를 만듭니다.
예를 들어 다음 쉐이퍼 기술 정의를 살펴보세요.
{
"@odata.type": "#Microsoft.Skills.Util.ShaperSkill",
"name": "define-projection",
"description": "Prepare projection fields",
"context": "/document",
"inputs": [
{
"name": "file_name",
"source": "/document/metadata_content_name"
},
{
"name": "url",
"source": "/document/url"
},
{
"name": "sentiment",
"source": "/document/sentimentScore"
},
{
"name": "key_phrases",
"source": null,
"sourceContext": "/document/merged_content/keyphrases/*",
"inputs": [
{
"name": "phrase",
"source": "/document/merged_content/keyphrases/*"
}
]
}
],
"outputs": [
{
"name": "output",
"targetName": "projection"
}
]
}
이 쉐이퍼 기술은 다음과 같은 구조체를 사용하여 프로젝션 필드를 만듭니다.
{
"file_name": "file_name.pdf",
"url": "https://<storage_path>/file_name.pdf",
"sentiment": 1.0,
"key_phrases": [
{
"phrase": "first key phrase"
},
{
"phrase": "second key phrase"
},
{
"phrase": "third key phrase"
},
...
]
}
결과 JSON 문서는 올바른 형식이고 보강 파이프라인의 이전 기술에 의해 반복적으로 빌드된 더 복잡한 문서보다 지식 저장소의 프로젝션에 더 쉽게 매핑됩니다.