Entender o processo de indexação
O processo de indexação funciona criando um documento para cada entidade indexada. Durante a indexação, um pipeline de enriquecimento cria iterativamente os documentos que combinam metadados da fonte de dados com campos enriquecidos extraídos por habilidades cognitivas. Pense em cada documento indexado como uma estrutura JSON, que é composta inicialmente por um documento com os campos de índice que você mapeou para campos extraídos diretamente dos dados de origem, como este:
- document
- metadata_storage_name
- metadata_author
- content
Quando os documentos na fonte de dados contêm imagens, você pode configurar o indexador para extrair os dados da imagem e inserir cada imagem em uma coleção normalized_images, desta forma:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- image1
Normalizar os dados da imagem dessa maneira permite que você use a coleção de imagens como entrada para habilidades que extraem informações dos dados de imagem.
Cada habilidade adiciona campos ao documento, por exemplo, uma habilidade que detecta o idioma no qual um documento está escrito pode armazenar sua saída em um campo de idioma, desta forma:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- image1
- linguagem
O documento é estruturado de maneira hierárquica 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 óptico de caracteres (OCR) para cada imagem na coleção de imagens normalizadas para extrair qualquer texto que eles contenham:
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- Text
- image1
- Text
- image0
- linguagem
Os campos de saída de cada habilidade podem ser usados como entradas para outras habilidades mais adiante no pipeline, que, por sua vez, armazenam as saídas delas na estrutura do documento. Por exemplo, poderíamos usar uma habilidade de mesclar para combinar o conteúdo de texto original com o texto extraído de cada imagem para criar um campo merged_content que contenha todo o texto no documento, incluindo o texto da imagem.
- document
- metadata_storage_name
- metadata_author
- content
- normalized_images
- image0
- Text
- image1
- Text
- image0
- linguagem
- merged_content
Os campos na estrutura do documento final, no fim do pipeline, são mapeados para campos de índice pelo indexador de uma das duas maneiras:
- Campos extraídos diretamente dos dados de origem são mapeados para campos de índice. Esses mapeamentos podem ser implícitos (os campos são mapeados automaticamente para campos com o mesmo nome no índice) ou explícitos (um mapeamento é definido de modo a corresponder um campo de origem a um campo de índice, geralmente para renomear o campo para algo mais útil ou para aplicar uma função ao valor de dados conforme ele é mapeado).
- Os campos de saída das habilidades no conjunto de habilidades são mapeados explicitamente de seu local hierárquico na saída para o campo de destino no índice.