"Når du jobber med elastikkindekser, kan du møte et forekomst der du trenger å fjerne et felt fra et eksisterende dokument. Dessverre gir ikke Elasticsearch en innfødt forespørsel vi kan bruke til å utføre nevnte handling.
Vi kan imidlertid bruke Document Update API og passere et skript som lar oss fjerne et felt basert på navnet.”
MERK: Denne prosessen krever at du har grunnleggende kunnskap om Elasticsearch Scripting og Document Update API. Utforsk gjerne dokumentene eller veiledningene våre om emnet for å lære mer.
La oss dykke inn.
Sjekk om dokumentet eksisterer
Før du fjerner et felt fra et spesifikt dokument, er det bra å sikre at måldokumentet eksisterer i indeksen.
Vi kan bruke Search API til å hente måldokumentet.
Anta for eksempel at vi har kibana_sample_logs_data -indeksen. Vi kan søke i indeksen etter et dokument som inneholder en spesifikk IP.
MERK: Eksemplet ovenfor brukes kun til illustrasjonsformål. Du kan bruke forskjellige metoder for å bekrefte om et spesifikt dokument er tilgjengelig i indeksen.
Curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_search" -h "kbn -xsrf: rapportering" -h "innholdstype: applikasjon/json" -d 'Resulterende utgang:
Deretter kan et enkelt skript fjerne et målfelt fra dokumentet. Begynn med å logge deg på Kibana -konsollen din og kjør kommandoen:
Curl -xpost "http: // localhost: 9200/kibana_sample_data_logs/_update/5pa49iibktjaz6ttsib5" -h "kbn -xsrf: rapportering" -h "innholdstype: applikasjon/json" -d 'Ovennevnte forespørsel bruker et smertefritt kontekstskript for å oppdatere dokumentet og fjerne ""IP"" -feltet med den spesifiserte IDen.
Produksjon:
Når dokumentet er oppdatert, kan du bekrefte ved å kjøre spørringen.:
Curl -xget ""http: // localhost: 9200/kibana_sample_data_logs/_doc/5pa49iibktjaz6ttsib5"" -h ""kbn -xsrf: rapportering""Forespørselen ovenfor skal returnere dataene som er lagret i dokumentet med den spesifiserte ID -en.
Vi kan bekrefte at IP -feltet ikke lenger er i dokumentet.
Konklusjon
I denne artikkelen lærte du hvordan du bruker Elasticsearch Scripting -muligheter for å fjerne et felt fra et eksisterende dokument.
Takk for at du leste!!
"