Importação de dados no Azure AI Search

No Azure AI Search, as consultas são executadas sobre 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: enviar seus dados para o índice programaticamente ou extrair os 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 pode ser consultado até que você adicione o conteúdo.

Nota

Se o enriquecimento de IA for um requisito de solução, você deverá usar o modelo 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.

Enviar dados para um índice

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

Os principais benefícios incluem:

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

  • Sem restrições quanto à frequência de execução. Pode enviar alterações para os índices tantas vezes quanto quiser. Para aplicativos com requisitos de baixa latência (por exemplo, quando o índice precisa estar sincronizado com as flutuações do estoque de produtos), o modelo push é 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 no Azure AI Search.

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

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

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

Para obter uma introdução às APIs 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 na íntegra, mesclado com o conteúdo do documento existente ou excluído.

Quer utilize 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 estiver faltando valores que o índice exige, o valor do campo do documento é definido como null.

  • Mesclar atualiza um documento que já existe e falha em um documento que não pode ser encontrado. A mesclagem substitui os valores existentes. Por esse motivo, certifique-se de verificar se há campos de coleta que contenham vários valores, como campos do tipo Collection(Edm.String). Por exemplo, se um campo começar com um tags valor de ["budget"] e você executar uma mesclagem com ["economy", "pool"], o valor final do tags campo será ["economy", "pool"]. Não será ["budget", "economy", "pool"].

  • mergeOrUpload comporta-se como mesclar se o documento existir e carregar se o documento for novo.

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

Extrair dados para um índice

O modelo pull usa indexadores que se conectam a uma fonte de dados suportada, 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.

Os indexadores ligam índices a uma origem de dados (geralmente, uma tabela, vista ou estrutura equivalente) e mapeiam os campos da origem para os campos equivalentes nos índices. Durante a execução, o conjunto de linhas é automaticamente transformado em JSON e carregado para o índice especificado. Todos os indexadores suportam agendas para que você possa especificar com que frequência os dados devem ser atualizados. A maioria dos indexadores disponibilizam o registo de alterações, se as origens de dados o suportarem. Os indexadores, através do registo de alterações e eliminações aos documentos existentes, além do reconhecimento de novos documentos, suprimem a gestão ativa dos dados no índice.

Como extrair dados para um índice do Azure AI 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 o Azure AI Search 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 explorador de Pesquisa

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

Screenshot of Search Explorer command in the Azure portal.

O explorador permite-lhe consultar índices sem ter de escrever qualquer código. A experiência de pesquisa baseia-se em predefinições, como a sintaxe simples e o parâmetro de consulta searchMode predefinido. Os resultados são devolvidos em JSON, de modo a que possa inspecionar todo o documento.

Aqui está um exemplo de consulta que você pode executar no Search Explorer no modo JSON. O "HotelId" é a chave de documento do índice de amostra de hotéis. O filtro fornece o ID do documento de um documento específico:

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

Se você estiver usando REST, esta consulta Pesquisar alcançará a mesma finalidade.

Consulte também