Excluindo um campo de um documento no Elasticsearch

Explorando métodos para excluir um campo de um documento no Elasticsearch.

Novo no Elasticsearch? Participe do nosso webinar Introdução ao Elasticsearch. Você também pode iniciar um teste gratuito na nuvem do Elastic ou experimentar o Elastic em sua máquina agora.

No Elasticsearch, é comum precisar excluir um campo de um documento. Isso pode ser útil quando você deseja remover informações desnecessárias ou desatualizadas do seu índice. Neste artigo, discutiremos diferentes métodos para excluir um campo de um documento no Elasticsearch, juntamente com exemplos e instruções passo a passo.

Método 1: Usando a API de atualização

A API de atualização permite atualizar um documento fornecendo um script que modifica o código-fonte do documento. Você pode usar esta API para excluir um campo de um documento, definindo o campo como nulo. Aqui está um guia passo a passo de como fazer isso:

1. Identifique o índice, o tipo de documento (se estiver usando o Elasticsearch 6.x ou anterior) e o ID do documento que você deseja atualizar.

2. Utilize a API de atualização com um script que defina o campo como nulo ou, melhor ainda, que o remova do documento de origem. O exemplo a seguir demonstra como excluir o campo “field_to_delete” de um documento com ID “1” no índice “my_index”:

3. Execute a solicitação. Se a operação for bem-sucedida, o Elasticsearch retornará uma resposta indicando que o documento foi atualizado.

Nota: Este método apenas remove o campo do documento especificado. O campo ainda existirá no mapeamento e em outros documentos do índice.

Método 2: Reindexação com uma fonte modificada

Se você deseja excluir um campo de todos os documentos em um índice, pode usar a API Reindex para criar um novo índice com a origem modificada. Eis como fazer isso:

1. Crie um novo índice com as mesmas configurações e mapeamentos do índice original. Você pode usar a API Get Index para recuperar as configurações e os mapeamentos do índice original.

2. Utilize a API Reindex para copiar documentos do índice original para o novo índice, removendo o campo da origem. O exemplo a seguir demonstra como excluir o campo “field_to_delete” de todos os documentos no índice “my_index”:


3. Verifique se o novo índice contém os documentos corretos com o campo removido.

4. Se tudo estiver correto, você pode excluir o índice original e, se necessário, adicionar um alias ao novo índice com o mesmo nome do índice original.

Método 3: Atualização do mapeamento e reindexação

Se você deseja excluir um campo do mapeamento e todos os documentos em um índice, pode atualizar o mapeamento e, em seguida, reindexar os documentos. Eis como fazer isso:

1. Crie um novo índice com as mesmas configurações do índice original.

2. Recupere os mapeamentos do índice original usando a API Get Mapping.

3. Modifique os mapeamentos removendo o campo que deseja excluir.

4. Aplique os mapeamentos modificados ao novo índice usando a API Put Mapping.

5. Utilize a API Reindex para copiar documentos do índice original para o novo índice, conforme descrito no Método 2.

6. Verifique se o novo índice contém os documentos corretos com o campo removido e se o campo não está presente no mapeamento.

7. Se tudo estiver correto, você pode excluir o índice original e, se necessário, adicionar um alias ao novo índice com o mesmo nome do índice original.

Conclusão

Neste artigo, discutimos três métodos para excluir um campo de um documento no Elasticsearch: usando a API de atualização, reindexando com uma fonte modificada e atualizando o mapeamento e reindexando. Cada método tem seus próprios casos de uso e vantagens e desvantagens, portanto, escolha aquele que melhor se adapta às suas necessidades. Lembre-se sempre de testar as alterações e verificar os resultados antes de aplicá-las em ambientes de produção.

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)