Elasticsearch Eemalda väli

Elasticsearch Eemalda Vali



'Elasticearchi indeksiga töötades võib juhtuda, et peate eemaldama välja olemasolevast dokumendist. Kahjuks ei paku Elasticsearch algset päringut, mida saaksime nimetatud toimingu tegemiseks kasutada.

Siiski saame kasutada dokumendivärskenduse API-t ja edastada skripti, mis võimaldab meil selle nime alusel välja eemaldada.







MÄRGE : See protsess nõuab põhiteadmisi Elasticsearchi skriptimise ja dokumendivärskenduse API kohta. Lisateabe saamiseks uurige julgelt selle teema dokumente või meie õpetusi.



Sukeldume sisse.



Kontrollige, kas dokument on olemas

Enne välja eemaldamist konkreetsest dokumendist on hea veenduda, et sihtdokument on registris olemas.





Sihtdokumendi toomiseks saame kasutada otsingu API-t.

Oletame näiteks, et meil on indeks kibana_sample_logs_data. Saame otsida registrist dokumenti, mis sisaldab konkreetset IP-d.



MÄRGE : Ülaltoodud näidet kasutatakse ainult illustreerimiseks. Saate kasutada erinevaid meetodeid, et kontrollida, kas konkreetne dokument on registris saadaval.

curl -XGET 'http://localhost:9200/kibana_sample_data_logs/_search' -H 'kbn-xsrf: aruandlus' -H 'Sisu tüüp: rakendus/json' -d'
{
'suurus': 0,
'query': {'match': {
'ip': '171.24.97.162'
}}
}'

Tulemuseks olev väljund:

{
'võttis': 3,
'timed_out': vale,
'_shards': {
'kokku': 1,
'edukas': 1,
'vahele jäetud': 0,
'ebaõnnestunud': 0
},
'tabamused': {
'kokku': {
'väärtus': 17,
'relatsioon': 'ekv'
},
'max_score': null,
'tabamused': []
}

}

Järgmisena saab lihtne skript eemaldada dokumendist sihtvälja. Alustuseks logige oma Kibana konsooli sisse ja käivitage käsk:

curl -XPOST 'http://localhost:9200/kibana_sample_data_logs/_update/5pA49IIBkTjaZ6TtsiB5' -H 'kbn-xsrf: aruandlus' -H 'Sisu tüüp: rakendus/json' -d'
{
'script': 'ctx._source.remove('\''ip'\'')'
}'

Ülaltoodud päring kasutab dokumendi värskendamiseks ja määratud ID-ga välja „ip” eemaldamiseks valutut konteksti skripti.

Väljund:

{
'_index': 'kibana_sample_data_logs',
'_id': '5pA49IIBkTjaZ6TtsiB5',
'_version': 2,
'result': 'uuendatud',
'_shards': {
'kokku': 2,
'edukas': 2,
'ebaõnnestunud': 0
},
'_seq_no': 14074,
'_esmane_termin': 1
}

Kui dokument on värskendatud, saate seda kontrollida, käivitades päringu.:

curl -XGET 'http://localhost:9200/kibana_sample_data_logs/_doc/5pA49IIBkTjaZ6TtsiB5' -H 'kbn-xsrf: aruandlus'

Ülaltoodud päring peaks tagastama dokumendis salvestatud andmed määratud ID-ga.

Saame kontrollida, et IP-väli pole enam dokumendis.

Järeldus

Sellest artiklist õppisite, kuidas kasutada Elasticsearchi skriptimisvõimalusi olemasolevast dokumendist välja eemaldamiseks.

Aitäh lugemast!!