Definición de proyecciones

Completado

Las proyecciones de datos que se almacenarán en el almacén de conocimiento se basan en las estructuras de documento generadas por la canalización de enriquecimiento en el proceso de indexación. Cada aptitud del conjunto de aptitudes crea de forma iterativa una representación JSON de los datos enriquecidos para los documentos que se indexan y puede conservar algunos o todos los campos del documento como proyecciones.

Uso de la aptitud Conformador

El proceso de indexación crea de forma incremental un documento complejo que contiene los distintos campos de salida de las aptitudes del conjunto de aptitudes. Esto puede dar lugar a un esquema con el que es difícil trabajar y que incluye colecciones de valores de datos primitivos que no se asignan con facilidad a código JSON bien formado.

Para simplificar la asignación de estos valores de campo a las proyecciones de un almacén de conocimiento, es habitual usar la aptitud Conformador para crear un campo que contenga una estructura más sencilla para los campos que se quieren asignar a las proyecciones.

Por ejemplo, considere la siguiente definición de la aptitud Conformador:

{
  "@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"
    }
  ]
}

Esta aptitud Conformador crea un campo de proyección con la siguiente estructura:

{
    "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"
        },
        ...
    ]
}

El documento JSON resultante tiene un formato correcto y es más fácil de asignar a una proyección en un almacén de conocimiento que el documento más complejo creado iterativamente por las aptitudes anteriores en la canalización de enriquecimiento.