Medan Alih Keluar Elasticsearch

Medan Alih Keluar Elasticsearch



“Apabila bekerja dengan indeks Elasticearch, anda mungkin menghadapi kejadian di mana anda perlu mengalih keluar medan daripada dokumen sedia ada. Malangnya, Elasticsearch tidak menyediakan permintaan asli yang boleh kami gunakan untuk melaksanakan tindakan tersebut.

Walau bagaimanapun, kami boleh menggunakan API kemas kini dokumen dan lulus skrip yang membolehkan kami mengalih keluar medan berdasarkan namanya.'







CATATAN : Proses ini memerlukan anda mempunyai pengetahuan asas tentang skrip Elasticsearch dan API kemas kini dokumen. Sila terokai dokumen atau tutorial kami tentang topik untuk mengetahui lebih lanjut.



Mari selami.



Semak Jika Dokumen Wujud

Sebelum mengalih keluar medan daripada dokumen tertentu, adalah baik untuk memastikan bahawa dokumen sasaran wujud dalam indeks.





Kami boleh menggunakan API carian untuk mengambil dokumen sasaran.

Sebagai contoh, katakan kita mempunyai indeks kibana_sample_logs_data. Kita boleh mencari indeks untuk dokumen yang mengandungi IP tertentu.



CATATAN : Contoh di atas digunakan untuk tujuan ilustrasi sahaja. Anda boleh menggunakan pelbagai kaedah untuk mengesahkan sama ada dokumen tertentu tersedia dalam indeks.

curl -XGET 'http://localhost:9200/kibana_sample_data_logs/_search' -H 'kbn-xsrf: pelaporan' -H 'Jenis-Kandungan: aplikasi/json' -d'
{
'saiz': 0,
'query': {'match': {
'ip': '171.24.97.162'
}}
}'

Keluaran yang terhasil:

{
'mengambil': 3,
'masa_habis': palsu,
'_shards': {
'jumlah': 1,
'berjaya': 1,
'dilangkau': 0,
'gagal': 0
},
'hits': {
'jumlah': {
'nilai': 17,
'perkaitan': 'eq'
},
'max_score': batal,
'hits': []
}

}

Seterusnya, skrip mudah boleh mengalih keluar medan sasaran daripada dokumen. Mulakan dengan log masuk ke konsol Kibana anda dan jalankan arahan:

curl -XPOST 'http://localhost:9200/kibana_sample_data_logs/_update/5pA49IIBkTjaZ6TtsiB5' -H 'kbn-xsrf: pelaporan' -H 'Jenis-Kandungan: aplikasi/json' -d'
{
'skrip': 'ctx._source.remove('\''ip'\'')'
}'

Permintaan di atas menggunakan skrip konteks yang tidak menyakitkan untuk mengemas kini dokumen dan mengalih keluar medan 'ip' dengan ID yang ditentukan.

Pengeluaran:

{
'_index': 'kibana_sample_data_logs',
'_id': '5pA49IIBkTjaZ6TtsiB5',
'_version': 2,
'result': 'dikemas kini',
'_serpihan': {
'jumlah': 2,
'berjaya': 2,
'gagal': 0
},
'_seq_no': 14074,
'_penggal_utama': 1
}

Setelah dokumen dikemas kini, anda boleh mengesahkan dengan menjalankan pertanyaan.:

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

Permintaan di atas harus mengembalikan data yang disimpan dalam dokumen dengan ID yang ditentukan.

Kami boleh mengesahkan medan IP tidak lagi dalam dokumen.

Kesimpulan

Dalam artikel ini, anda mempelajari cara menggunakan keupayaan skrip Elasticsearch untuk mengalih keluar medan daripada dokumen sedia ada.

Terima kasih untuk membaca!!