Índice de Atualização (API REST da Pesquisa de IA do Azure)

Modificar um índice existente normalmente requer uma remoção e reconstrução de índices, exceto as seguintes alterações de esquema:

  • Adicionar novos campos a uma coleção de campos

  • Adicionar campos criados recentemente a um fornecedor de sugestões

  • Adicionar ou alterar perfis de classificação

  • Adicionar ou alterar chaves de encriptação

  • Adicionar novos analisadores personalizados

  • Alterar as opções cors

  • Altere os campos existentes com qualquer uma destas três modificações:

    • Alterar retrievable (os valores são verdadeiros ou falsos)
    • Alterar searchAnalyzer (utilizado no momento da consulta)
    • Adicionar ou alterar synonymMaps (utilizado no momento da consulta)

Para adicionar estas atualizações, coloque o nome do índice no URI do pedido. No corpo do pedido, inclua uma definição de índice totalmente especificada com as modificações.

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]  
  Content-Type: application/json  
  api-key: [admin key]  

Os campos existentes e a maioria dos atributos de campo não podem ser eliminados ou alterados, nem os campos podem ser adicionados aos sugestores. Apenas os campos criados recentemente podem ser adicionados a um suggester.

Quando um novo campo é adicionado, todos os documentos existentes obtêm automaticamente um valor nulo para esse campo. Não é consumido mais nenhum espaço de armazenamento até que ocorra um de dois elementos: é fornecido um valor para o novo campo (com a intercalação) ou são adicionados novos documentos.

Os analisadores, tokens, filtros de tokens e filtros de carateres existentes não podem ser alterados. Adicionar novos a um índice já existente só é possível quando o allowIndexDowntime sinalizador está ativado no pedido de atualização do índice. A mesma regra aplica-se ao adicionar um campo de vetor inicial a um índice pré-existente que foi estabelecido com uma API que não suportava a pesquisa de vetores, especificamente antes da pré-visualização da versão da API REST 2023-07-01.

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true

Esta operação leva o índice offline durante alguns segundos. Os pedidos de indexação e consulta falham enquanto o índice está offline. As operações de desempenho e escrita podem ser temporariamente prejudicadas durante vários minutos após o índice estar novamente online.

Parâmetros do URI

Parâmetro Description
nome do serviço Obrigatório. Defina-o como o nome exclusivo definido pelo utilizador do seu serviço de pesquisa.
nome do índice Obrigatório. O URI do pedido especifica o nome do índice a atualizar.
api-version Obrigatório. Veja Versões da API para obter uma lista de versões suportadas.
allowIndexDowntime Opcional. Falso por predefinição. Defina como verdadeiro para determinadas atualizações, tais como adicionar ou modificar um analisador, tokenizer, filtro de token, filtro de caráter ou propriedade de semelhança. O índice é offline durante a atualização, normalmente não mais do que vários segundos.

Cabeçalhos de Pedido

A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais.

Campos Description
Content-Type Obrigatório. Defina esta opção como application/json
api-key Opcional se estiver a utilizar funções do Azure e for fornecido um token de portador no pedido, caso contrário, é necessária uma chave. Os pedidos de atualização têm de incluir um api-key cabeçalho definido para a sua chave de administrador (por oposição a uma chave de consulta). Veja Connect to Azure AI Search using key authentication (Ligar à Pesquisa de IA do Azure com a autenticação de chaves ) para obter detalhes.

Corpo do Pedido

A sintaxe do corpo do pedido é a mesma que para Criar Índice.

Quando atualiza um índice existente, o corpo tem de incluir a definição de esquema completa, incluindo quaisquer definições originais que pretenda preservar. Em geral, o melhor padrão para atualizações é obter a definição de índice com um GET, modificá-la e, em seguida, atualizá-la com PUT.

Resposta

Para um pedido com êxito, deverá ver "204 Sem Conteúdo".

Por predefinição, o corpo da resposta está vazio. No entanto, se o cabeçalho do Prefer pedido estiver definido como return=representation, o corpo da resposta contém o JSON do índice atualizado. Neste caso, o código de estado de êxito é "200 OK".

Ver também