„Pracując z indeksami Elasticarach, możesz napotkać instancję, w której musisz usunąć pole z istniejącego dokumentu. Niestety, ElasticSearch nie zawiera natywnego żądania, którego możemy użyć do wykonania wspomnianej akcji.
Możemy jednak użyć interfejsu API aktualizacji dokumentu i przekazać skrypt, który pozwala nam usunąć pole na podstawie jego nazwy."
NOTATKA: Ten proces wymaga podstawowej wiedzy na temat scenariuszy ElasticSearch i interfejsu API aktualizacji dokumentów. Zapraszam do odkrywania dokumentów lub naszych samouczków na ten temat, aby dowiedzieć się więcej.
Zanurzmy się.
Sprawdź, czy dokument istnieje
Przed usunięciem pola z konkretnego dokumentu dobrze jest upewnić się, że dokument docelowy istnieje w indeksie.
Możemy użyć interfejsu API wyszukiwania, aby pobrać dokument docelowy.
Załóżmy na przykład, że mamy indeks kibana_sample_logs_data. Możemy wyszukać indeks dokumentu zawierającego określony adres IP.
NOTATKA: Powyższy przykład jest używany tylko do celów ilustracyjnych. Możesz użyć różnych metod, aby sprawdzić, czy konkretny dokument jest dostępny w indeksie.
curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_search" -h "kbn -xsrf: raportowanie" -h "content -typ: application/json" -d 'Wynikowe wyjście:
Następnie prosty skrypt może usunąć pole docelowe z dokumentu. Zacznij od zalogowania się do konsoli Kibana i uruchom polecenie:
curl -xpost "http: // localhost: 9200/kibana_sample_data_logs/_update/5pa49iibktjaz6ttsib5" -h "kbn -xsrf: raportowanie" -h "content -type: Application/json" -d 'Powyższe żądanie używa bezbolesnego skryptu kontekstowego do aktualizacji dokumentu i usunięcia pola „IP” z określonym identyfikatorem.
Wyjście:
Po zaktualizowaniu dokumentu możesz zweryfikować, uruchamiając zapytanie.:
curl -xget ""http: // localhost: 9200/kibana_sample_data_logs/_doc/5pa49iibktjaz6ttsib5"" -h ""kbn -xsrf: raportowanie""Powyższe żądanie powinno zwrócić dane przechowywane w dokumencie z określonym identyfikatorem.
Możemy sprawdzić, czy pole IP nie jest już w dokumencie.
Wniosek
W tym artykule nauczyłeś się korzystać z możliwości scenariuszy ElasticSearch do usunięcia pola z istniejącego dokumentu.
Dziękuje za przeczytanie!!
"