“Ao trabalhar com os índices de pesquisa elástica, você pode encontrar uma instância em que precisa remover um campo de um documento existente. Infelizmente, o Elasticsearch não fornece uma solicitação nativa que podemos usar para executar a ação referida.
Podemos, no entanto, usar a API de atualização de documentos e passar um script que nos permite remover um campo com base no nome.”
OBSERVAÇÃO: Este processo exige que você tenha conhecimento básico do Elasticsearch Script e a API de atualização de documentos. Sinta -se à vontade para explorar os documentos ou nossos tutoriais sobre o assunto para saber mais.
Vamos mergulhar.
Verifique se o documento existe
Antes de remover um campo de um documento específico, é bom garantir que o documento de destino exista dentro do índice.
Podemos usar a API de pesquisa para buscar o documento de destino.
Por exemplo, suponha que tenhamos o Índice Kibana_sample_logs_data. Podemos pesquisar no índice um documento que contém um IP específico.
OBSERVAÇÃO: O exemplo acima é usado apenas para fins de ilustração. Você pode usar vários métodos para verificar se um documento específico está disponível no índice.
Curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_search" -h "kbn -xsrf: relatórios" -h "conteúdo: aplicativo/json" -d 'Saída resultante:
Em seguida, um script simples pode remover um campo de destino do documento. Comece fazendo login no seu console Kibana e execute o comando:
Curl -xpost "http: // localhost: 9200/kibana_sample_data_logs/_update/5pa49iibktjaz6ttsib5" -h "kbn -xsrf: relatórios" -h "content -type: aplicação/json" --dA solicitação acima usa um script de contexto indolor para atualizar o documento e remover o campo ""IP"" com o ID especificado.
Saída:
Depois que o documento for atualizado, você pode verificar executando a consulta.:
Curl -xget ""http: // localhost: 9200/kibana_sample_data_logs/_doc/5pa49iibktjaz6ttsib5"" -h ""kbn -xsrf: reporting""A solicitação acima deve retornar os dados armazenados no documento com o ID especificado.
Podemos verificar se o campo IP não está mais no documento.
Conclusão
Neste artigo, você aprendeu a usar os recursos de script do Elasticsearch para remover um campo de um documento existente.
Obrigado pela leitura!!
"