Compartilhar via


Importação de dados na IA do Azure Search

Na IA do Azure Search, as consultas são executadas no conteúdo de propriedade do usuário que é carregado em um índice de pesquisa. Este artigo descreve os dois fluxos de trabalho básicos para preencher um índice: efetuar push dos dados para o índice programaticamente ou efetuar pull dos dados usando um indexador de pesquisa.

Ambas as abordagens carregam documentos de uma fonte de dados externa. Embora você possa criar um índice vazio, ele não poderá ser consultado até que você adicione o conteúdo.

Observação

Se o enriquecimento de IA ou a vetorização integrada forem requisitos de solução, você precisará usar o modelo de pull (indexadores) para carregar um índice. Os conjuntos de habilidades são anexados a um indexador e não são executados de maneira independente.

Envio por push de dados para um índice

O modelo de push é uma abordagem que usa APIs para carregar documentos em um índice de pesquisa existente. Você pode carregar documentos individualmente ou em lotes de até 1000 por lote ou 16 MB por lote, o que chegar primeiro.

Entre os principais benefícios estão:

  • Não tem restrições de tipo de fonte de dados. O conteúdo deve ser composto por documentos JSON que mapeiam para o esquema de índice, mas os dados podem ser originados de qualquer lugar.

  • Não tem nenhuma restrição de frequência de execução. Você pode enviar por push as alterações para um índice sempre que desejar. Para aplicativos com requisitos de baixa latência (por exemplo, quando o índice precisar estar sincronizado com as flutuações do inventário do produto), o modelo de push é a única opção.

  • A conectividade e a recuperação segura de documentos estão totalmente sob seu controle. Por outro lado, as conexões do indexador são autenticadas usando os recursos de segurança fornecidos na IA do Azure Search.

Como enviar dados por push para um índice da IA do Azure Search

Use as APIs a seguir para carregar um ou vários documentos em um índice:

Não há suporte para enviar dados por push por meio do portal do Azure.

Para obter uma introdução às APIs de push, consulte:

Ações de indexação: upload, merge, mergeOrUpload, delete

Você pode controlar o tipo de ação de indexação por documento, especificando se o documento deve ser carregado por completo, mesclado com o conteúdo do documento existente ou excluído.

Se você usa a API REST ou um SDK do Azure, as seguintes operações de documento têm suporte para importação de dados:

  • Upload, semelhante a um “upsert”, em que o documento será inserido se for novo e será atualizado/ ou substituído se existir. Se o documento tiver valores ausentes que o índice requer, o valor do campo do documento será definido como nulo.

  • merge atualiza um documento que já existe e reprova um documento que não pode ser encontrado. Merge substitui os valores existentes. Por esse motivo, verifique se há campos de coleção que contêm vários valores, como campos do tipo Collection(Edm.String). Por exemplo, se um campo tags começar com um valor de ["budget"] e você executar uma mesclagem com ["economy", "pool"], o valor final do campo tags será ["economy", "pool"]. Não será ["budget", "economy", "pool"].

  • mergeOrUpload se comportará como merge se o documento existir e upload se o documento for novo.

  • delete remove o documento inteiro do índice. Se você quiser remover um campo individual, use merge em vez disso, definindo o campo em questão como nulo.

Pull de dados para um índice

O modelo de pull usa indexadores se conectando a uma fonte de dados com suporte, carregando automaticamente os dados em seu índice. Os indexadores da Microsoft estão disponíveis para estas plataformas:

Você pode usar conectores de terceiros, desenvolvidos e mantidos por parceiros da Microsoft. Para obter mais informações e links, consulte Galeria de fontes de dados.

Indexadores conectam um índice a uma fonte de dados (geralmente uma tabela, exibição ou estrutura equivalente) e mapeiam campos de origem para os campos equivalentes no índice. Durante a execução, o conjunto de linhas é automaticamente transformado em JSON e carregado no índice especificado. Todos os indexadores suportam agendamentos para que você possa especificar com que frequência os dados devem ser atualizados. A maioria dos indexadores fornece controle de alterações se a fonte de dados oferecer suporte a isso. Rastreando as alterações e as exclusões para os documentos existentes, além de reconhecer novos documentos, os indexadores dispensam a necessidade de gerenciar ativamente os dados no índice.

Como efetuar o pull de dados em um índice da IA do Azure Search

Use as seguintes ferramentas e APIs para indexação baseada em indexador:

A funcionalidade de indexador é exposta no [Portal do Azure], na API REST e no SDK do .NET.

Uma vantagem de usar o portal do Azure é que a Pesquisa de IA do Azure geralmente pode gerar um esquema de índice padrão lendo os metadados do conjunto de dados de origem.

Verificar a importação de dados com o Search Explorer

Uma maneira rápida de executar uma verificação preliminar no upload do documento é usar o Gerenciador de pesquisa no portal do Azure.

Captura de tela do comando Gerenciador de Pesquisa no portal do Azure.

O explorador permite consultar um índice sem precisar escrever código. A experiência de pesquisa se baseia nas configurações padrão, como a sintaxe simples e padrão searchMode query parameter. Os resultados são retornados em JSON para que você possa inspecionar o documento inteiro.

Este é um exemplo de consulta que você pode executar no Gerenciador de pesquisa na exibição do JSON. O "HotelId" é a chave do documento de hotels-sample-index. O filtro fornece a ID de documento de um documento específico:

{
  "search": "*",
  "filter": "HotelId eq '50'"
}

Se você estiver usando REST, essa Consulta de pesquisa terá a mesma finalidade.

Confira também