Tutorial ini akan memandu anda melalui selok-belok templat indeks Elasticsearch yang membolehkan anda menentukan templat atau cetak biru untuk indeks biasa. Sebagai contoh, jika anda sentiasa mencatat data dari sumber luaran, anda boleh menentukan cetak biru untuk semua indeks pembalakan.
NOTA: Sebelum kita bermula, ada baiknya kita perhatikan bahawa tutorial tersebut memfokuskan pada versi terbaru Elasticsearch-7.8 pada masa penulisan-dan mungkin berbeza dari versi lain. Kami juga menganggap bahawa anda mempunyai Elasticsearch yang berjalan pada sistem di suatu tempat.
Mari kita mulakan kerja dengan templat indeks Elasticsearch.
Apa itu Templat Indeks Elasticsearch?
Templat indeks Elasticsearch adalah kaedah yang digunakan untuk mengarahkan Elasticsearch mengkonfigurasi indeks semasa dibuat. Sebagai contoh, templat indeks yang digunakan pada aliran data mengkonfigurasi indeks sokongan aliran semasa dibuat. Templat indeks dibuat secara manual sebelum pembuatan indeks. Semasa membuat indeks, templat menerapkan tetapan konfigurasi untuk indeks.
Versi terbaru Elasticsearch mempunyai dua jenis templat yang boleh digunakan. Salah satunya ialah templat indeks, dan yang lain adalah templat komponen. Seperti yang telah kita buat, templat indeks membantu membuat indeks Elasticsearch.
Templat komponen adalah modul atau blok yang dapat digunakan kembali yang digunakan untuk mengkonfigurasi tetapan, pemetaan, dan alias. Templat komponen tidak dapat diterapkan secara langsung ke indeks yang dibuat tetapi dapat membantu membuat templat indeks.
Beberapa templat indeks lalai yang digunakan oleh Elasticsearch termasuk: metrik - * - *, log - * - * .
Cara Membuat Templat Indeks
Untuk membuat templat indeks baru atau mengemas kini templat yang ada, kami menggunakan API templat PUT. Dengan menggunakan titik akhir _index_template, kita dapat mengirim permintaan HTTP untuk menambahkan templat.
Sintaks umum untuk membuat templat adalah:
TETAP _index_template / template_nameAdalah baik untuk diperhatikan bahawa nama templat adalah parameter yang diperlukan. Pertimbangkan permintaan di bawah yang membuat templat indeks sebagai templat_1
TETAP _index_template / template_1/ * Tentukan corak indeks * /
"index_patterns": ["te *"],
"keutamaan": 1,
/ * Tentukan tetapan untuk indeks * /
"templat":
"tetapan":
"number_of_shards": 2
Untuk pengguna cURL, arahannya adalah:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Tentukan corak indeks * / "index_patterns": ["te *"], "priority": 1, / * Tentukan tetapan untuk indeks * / "template": "setting": "number_of_shards": 2 'Elasticsearch menggunakan corak wildcard untuk memadankan nama indeks di mana templat digunakan. Mengubah atau mengemas kini templat indeks tidak akan mempengaruhi indeks yang sudah dibuat sahaja yang akan dibuat setelah menggunakan templat itu.
Dari atas, anda boleh memberi komen pada templat anda menggunakan kaedah komen C-Language. Anda boleh menambah seberapa banyak komen yang anda mahukan, di mana sahaja di bahagian badan kecuali bukaan pendakap keriting.
Dalam badan templat indeks, anda boleh memasukkan pelbagai definisi seperti:
- Templat: Properti templat (objek) menentukan templat mana yang akan digunakan; ia boleh merangkumi alias, pemetaan, dan tetapan-ini adalah parameter pilihan.
- Terdiri daripada: Properti ini menentukan senarai nama untuk templat komponen. Setelah ditakrifkan, templat komponen dapat disusun mengikut urutan spesifikasi mereka. Itu bermaksud templat komponen terakhir yang ditakrifkan diutamakan.
- Keutamaan: Properti keutamaan menentukan keutamaan templat indeks semasa membuat indeks. Sekiranya ada keutamaan yang mempunyai nilai tertinggi, ia mendapat keutamaan yang lebih tinggi berbanding dengan nilai yang lebih rendah. Nilai keutamaan tidak diperlukan dan adalah jenis bulat. 0 adalah nilai lalai untuk templat yang tidak ditentukan.
- Versi: Parameter versi menentukan versi templat indeks, yang membantu menguruskan templat.
Terdapat sifat lain yang boleh anda sertakan dalam badan templat indeks. Pertimbangkan dokumentasi untuk mengetahui lebih lanjut.
https: // www.elastik.co / guide / en / elasticsearch / rujukan / 7.10 / templat indeks.html
Berikut adalah contoh permintaan untuk membuat templat baru dengan versi 1.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"keutamaan": 1,
"templat":
"tetapan":
"number_of_shards": 2,
"number_of_replicas": 0
,
"versi": 1.0
Anda tidak boleh mempunyai lebih daripada satu templat indeks dengan corak yang sepadan dan keutamaan yang sama. Oleh itu, pastikan untuk menetapkan keutamaan yang berbeza agar sesuai dengan templat corak.
Cara Mendapatkan Templat Indeks
Untuk melihat maklumat mengenai templat indeks, kirim permintaan GET ke _index_template API. Sebagai contoh, untuk melihat maklumat mengenai template_2, gunakan permintaan:
DAPATKAN _index_template / template_2Perintah cURL adalah:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Perintah ini harus memaparkan maklumat mengenai template_2
"index_templates": [
"nama": "templat_2",
"index_template":
"index_patterns": [
"remp *",
"semula *"
],
"templat":
"tetapan":
"indeks":
"number_of_shards": "2",
"number_of_replicas": "0"
,
"terdiri daripada" : [ ],
"keutamaan": 1,
"versi": 1
]
Anda juga boleh menggunakan wildcard untuk mendapatkan templat yang sepadan. Sebagai contoh, pertimbangkan permintaan di bawah untuk melihat semua templat di Elasticsearch.
DAPATKAN _index_template / *Perintah cURL adalah.
curl -XGET http: // localhost: 9200 / _index_template / *Perintah ini harus memberi anda maklumat mengenai semua templat di Elasticsearch
"index_templates": [
"name": "ilm-sejarah",
"index_template":
"index_patterns": [
"ilm-sejarah-3 *"
],
"templat":
"tetapan":
"indeks":
"format": "1",
"kitaran hidup" :
"name": "ilm-sejarah-ilm-polisi",
"rollover_alias": "ilm-sejarah-3"
,
"tersembunyi": "benar",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"
,
"pemetaan":
"dinamik": salah,
"harta tanah":
"index_age":
"type": "panjang"
,
"@timestamp":
"format": "epoch_millis",
"type": "tarikh"
,
"error_details":
"type": "teks"
,
"kejayaan":
"type": "boolean"
,
"indeks":
"type": "kata kunci"
,
"negeri":
"dinamik": benar,
"type": "objek",
--------------------------OUTPUT DITERUSKAN-----------------------------------
Cara Memadamkan Templat
Menghapus templat semudah templat GET tetapi menggunakan permintaan HAPUS seperti:
HAPUS _index_template / template_2Anda boleh menggunakan arahan cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Perintah ini secara automatik menghapus templat yang ditentukan.
Kesimpulannya
Tutorial ini merangkumi templat indeks Elasticsearch, cara kerjanya, dan cara membuat, melihat, dan menghapus templat indeks. Maklumat asas ini akan membantu anda memulakan penggunaan templat indeks Elasticsearch.