Definiowanie projekcji
Projekcje danych, które mają być przechowywane w magazynie wiedzy, są oparte na strukturach dokumentów generowanych przez potok wzbogacania w procesie indeksowania. Każda umiejętność w zestawie umiejętności iteracyjnie tworzy reprezentację wzbogaconych danych w formacie JSON dla indeksowanych dokumentów i można utrwalać niektóre lub wszystkie pola w dokumencie jako projekcje.
Korzystanie z umiejętności kształtowania
Proces indeksowania przyrostowo tworzy złożony dokument zawierający różne pola wyjściowe z umiejętności w zestawie umiejętności. Może to spowodować trudności w pracy ze schematem, który obejmuje kolekcje pierwotnych wartości danych, które nie są łatwo mapowane na dobrze sformułowany kod JSON.
Aby uprościć mapowanie tych wartości pól na projekcje w magazynie wiedzy, często należy użyć umiejętności kształtowania do utworzenia nowego pola zawierającego prostszą strukturę pól, które chcesz mapować na projekcje.
Rozważmy na przykład następującą definicję umiejętności kształtowania:
{
"@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"
}
]
}
Ta umiejętność kształtowania tworzy pole projekcji o następującej strukturze:
{
"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"
},
...
]
}
Wynikowy dokument JSON jest dobrze sformułowany i łatwiejszy do mapowania na projekcję w magazynie wiedzy niż bardziej złożony dokument, który został utworzony iteracyjnie przez poprzednie umiejętności w potoku wzbogacania.