Compreender o processo de indexação

Concluído

O processo de indexação funciona criando um documento para cada entidade indexada. Durante a indexação, um pipeline de enriquecimento constrói iterativamente os documentos que combinam metadados da fonte de dados com campos enriquecidos extraídos por habilidades cognitivas. Você pode pensar em cada documento indexado como uma estrutura JSON, que inicialmente consiste em um documento com os campos de índice mapeados para campos extraídos diretamente dos dados de origem, da seguinte forma:

  • documento
    • metadata_storage_name
    • metadata_author
    • Conteúdo

Quando os documentos na fonte de dados contêm imagens, você pode configurar o indexador para extrair os dados da imagem e colocar cada imagem em uma coleção de normalized_images , da seguinte forma:

  • documento
    • metadata_storage_name
    • metadata_author
    • Conteúdo
    • normalized_images
      • imagem0
      • image1

Normalizar os dados de imagem dessa maneira permite que você use a coleção de imagens como uma entrada para habilidades que extraem informações de dados de imagem.

Cada habilidade adiciona campos ao documento, portanto, por exemplo, uma habilidade que deteta o idioma no qual um documento está escrito pode armazenar sua saída em um campo de idioma, assim:

  • documento
    • metadata_storage_name
    • metadata_author
    • Conteúdo
    • normalized_images
      • imagem0
      • image1
    • Idioma

O documento é estruturado hierarquicamente e as habilidades são aplicadas a um contexto específico dentro da hierarquia, permitindo que você execute a habilidade para cada item em um nível específico do documento. Por exemplo, você pode executar uma habilidade de reconhecimento ótico de caracteres (OCR) para cada imagem na coleção de imagens normalizadas para extrair qualquer texto que elas contenham:

  • documento
    • metadata_storage_name
    • metadata_author
    • Conteúdo
    • normalized_images
      • imagem0
        • Texto
      • image1
        • Texto
    • Idioma

Os campos de saída de cada habilidade podem ser usados como entradas para outras habilidades mais tarde no pipeline, que, por sua vez, armazenam suas saídas na estrutura do documento. Por exemplo, podemos usar uma habilidade de mesclagem para combinar o conteúdo do texto original com o texto extraído de cada imagem para criar um novo campo de merged_content que contenha todo o texto do documento, incluindo o texto da imagem.

  • documento
    • metadata_storage_name
    • metadata_author
    • Conteúdo
    • normalized_images
      • imagem0
        • Texto
      • image1
        • Texto
    • Idioma
    • merged_content

Os campos na estrutura do documento final no final do pipeline são mapeados para campos de índice pelo indexador de uma de duas maneiras:

  1. Os campos extraídos diretamente dos dados de origem são todos mapeados para campos de índice. Esses mapeamentos podem ser implícitos (campos são mapeados automaticamente em campos com o mesmo nome no índice) ou explícitos (um mapeamento é definido para corresponder um campo de origem a um campo de índice, muitas vezes para renomear o campo para algo mais útil ou para aplicar uma função ao valor de dados à medida que ele é mapeado).
  2. Os campos de saída das habilidades no conjunto de habilidades são explicitamente mapeados de sua localização hierárquica na saída para o campo de destino no índice.