Í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)
- Alterar
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".