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 for um requisito 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 forma 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 ocorrer primeiro.

Entre os principais benefícios estão:

  • Sem restrições quanto ao tipo de fonte de dados. A carga deve ser composta de documentos JSON mapeados para o esquema de índice, mas os dados podem ser originados de qualquer lugar.

  • Sem restrições quanto à periodicidade 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 precisa estar em sincronia com as flutuações do estoque de produtos), o modelo de envio é sua ú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 seguintes APIs 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ê usar 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" onde o documento é inserido se for novo e 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.

  • A mesclagem atualiza um documento que já existe e falha em 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 pull usa indexadores que se conectam 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 do indexador é exposta no [portal do Azure], na API REST e no SDK do .NET.

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

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

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

Screenshot of Search Explorer command in the Azure portal.

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.

Aqui está um exemplo de consulta que você pode executar no Gerenciador de Pesquisa no modo de exibição 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