Cara Membuat Indeks Elasticsearch

How Create Elasticsearch Indices



Elasticsearch adalah salah satu bahagian daripada timbunan ELK yang popular digunakan untuk analisis log dan carian. Aplikasi dan sistem sentiasa mencatat data yang sangat berguna untuk menyelesaikan masalah dan mengesan masalah. Dengan menggunakan timbunan ELK, anda mempunyai alat terbaik untuk melaksanakan tugas-tugas ini dengan cepat dan sangat mudah.

Dalam tutorial ringkas ini, kita akan melihat Elasticsearch, khususnya bagaimana membuat indeks di mesin Elasticsearch. Walaupun anda tidak memerlukan pengetahuan menyeluruh mengenai timbunan ELK untuk mengikuti tutorial ini, pemahaman asas mengenai topik berikut mungkin bermanfaat:







  • Menggunakan terminal, khususnya, cURL
  • Pengetahuan asas API dan JSON
  • Membuat Permintaan HTTP

CATATAN: Tutorial ini juga mengandaikan bahawa anda telah memasang dan menjalankan Elasticsearch pada sistem anda.



Apakah Indeks Pencarian Elastik?

Tanpa perkara yang terlalu sederhana atau terlalu rumit, indeks Elasticsearch adalah kumpulan dokumen JSON yang berkaitan.



Seperti disebutkan dalam posting sebelumnya, indeks Elasticsearch adalah objek JSON - dianggap sebagai unit asas penyimpanan di Elasticsearch. Dokumen JSON yang berkaitan ini disimpan dalam satu unit yang membentuk indeks. Fikirkan dokumen Elasticsearch sebagai jadual dalam pangkalan data hubungan.





Mari kita kaitkan indeks Elasticsearch sebagai pangkalan data di dunia SQL.

  • MySQL => Pangkalan Data => Jadual => Lajur / Baris
  • Elasticsearch => Indeks => Jenis => Dokumen JSON dengan Hartanah

Cara Membuat Indeks Pencarian Elastik

Elasticsearch menggunakan REST API yang kuat dan intuitif untuk mendedahkan perkhidmatannya. Fungsi ini membolehkan anda menggunakan permintaan HTTP untuk melakukan operasi pada kluster Elasticsearch. Oleh itu, kami akan menggunakan API membuat indeks untuk membuat indeks baru.



Untuk panduan ini, kami akan menggunakan cURL untuk menghantar permintaan dan menjaga integriti dan kegunaan untuk semua pengguna. Namun, jika anda menghadapi kesalahan dengan cURL, pertimbangkan untuk menggunakan Kibana Console.

Sintaks untuk membuat indeks baru dalam kluster Elasticsearch adalah:

LETAK /

Untuk membuat indeks, yang harus Anda lakukan adalah meneruskan nama indeks tanpa parameter lain, yang membuat indeks menggunakan tetapan lalai.

Anda juga boleh menentukan pelbagai ciri indeks, seperti di indeks badan:

  • Tetapan untuk indeks
  • Kata nama indeks
  • Pemetaan untuk bidang indeks

Nama indeks adalah parameter yang diperlukan; jika tidak, anda akan mendapat ralat untuk URIL (/)

curl -X PUT localhost: 9200
{'error': 'Kaedah HTTP yang salah untuk uri [/] dan kaedah [PUT], dibenarkan: [DELETE, HEAD, GET]', 'status': 405}

Untuk membuat indeks baru dengan nama single_index, kami meneruskan permintaan:

PUT / single_index

Untuk cURL, gunakan arahan:

curl -X PUT 'localhost: 9200 / single_index? cantik'

Perintah ini harus menghasilkan Status HTTP 200 OK dan mesej dengan diakui: benar seperti:

{
diakui: benar,
'shards_acknowledged': benar,
'indeks': 'single_index'
}

Permintaan di atas membuat indeks single_index dengan tetapan lalai kerana kami tidak menentukan konfigurasi apa pun.

Peraturan Penamaan Indeks

Semasa membuat nama untuk indeks Elasticsearch, anda mesti mematuhi piawaian penamaan berikut:

  1. Nama indeks mestilah huruf kecil sahaja.
  2. Nama indeks tidak boleh dimulakan dengan tanda hubung (-), garis bawah (_), atau tanda penambahan (+)
  3. Nama tidak boleh. atau ..
  4. Nama indeks tidak boleh menyertakan watak khas seperti: , /, *,?,, |, '(Watak ruang), ,, #
  5. Panjang nama indeks mestilah kurang daripada 255 bait. Aksara berbilang bait akan dikira dalam panjang keseluruhan nama indeks. Sebagai contoh, jika panjang satu karakter berukuran 8 bait, panjang keseluruhan nama adalah 255 - 8
  6. Dalam versi terbaru Elasticsearch, nama yang bermula dengan huruf a. disediakan untuk indeks tersembunyi dan indeks dalaman yang digunakan oleh plugin Elasticsearch.

Cara Membuat Badan Indeks

Semasa menggunakan permintaan PUT untuk membuat indeks, Anda dapat melewati berbagai argumen yang menentukan pengaturan untuk indeks yang ingin dibuat. Nilai yang dapat anda nyatakan dalam badan merangkumi:

  • Alias: Menentukan nama alias untuk indeks yang ingin anda buat; parameter ini adalah pilihan.
  • Tetapan: Ini menentukan pilihan konfigurasi untuk indeks yang ingin anda buat. Sekiranya anda gagal menentukan parameter apa pun, indeks akan dibuat menggunakan konfigurasi lalai.
  • Pemetaan: Ini menentukan pemetaan untuk bidang dalam indeks. Spesifikasi yang dapat anda sertakan dalam pemetaan meliputi:
    • Nama bidang
    • Jenis data
    • Parameter pemetaan

Untuk contoh membuat indeks dengan konfigurasi badan, pertimbangkan permintaan di bawah:

PUT / single_index_with_body
{
'tetapan': {
'number_of_shards': 2,
'number_of_replicas': 2
},
pemetaan: {
'hartanah': {
'field1': {'type': 'objek'}
}
}
}

Untuk permintaan setara dengan cURL:

curl -XPUT 'http: // localhost: 9200 / single_index_with_body' -H 'Content-Type: application / json' -d '{' setting ': {' number_of_shards ': 2,' number_of_replicas ': 2},' pemetaan ' : {'properties': {'field1': {'type': 'object'}}}} '

Permintaan di atas membuat indeks baru dengan nama single_index_with_body dengan 2 nombor pecahan dan 2 replika. Ia juga membuat pemetaan dengan bidang nama bidang1 dan menaip sebagai objek JSON.

Setelah anda menghantar permintaan, anda akan mendapat respons dengan status permintaan sebagai:

{
diakui: benar,
'shards_acknowledged': benar,
'index': 'single_index_with_body'
}

Acara yang diakui menunjukkan sama ada indeks berjaya dibuat dalam kluster, sementara shards_acknowledged menunjukkan apakah jumlah salinan pecahan yang diperlukan dimulakan untuk setiap pecahan dalam indeks yang ditentukan sebelum waktu habis.

Cara Melihat Indeks Pencarian Elastik

Untuk melihat maklumat tentang indeks yang Anda buat, gunakan permintaan serupa dengan membuat indeks, tetapi gunakan kaedah HTTP dan bukan PUT sebagai:

DAPATKAN / single_index_with_body

Untuk CURL,

curl -XGET http: // localhost: 9200 / single_index_with_body

Perintah ini akan memberi anda maklumat terperinci mengenai indeks yang diminta sebagai:

{
'single_index_with_body': {
'alias': {},
'pemetaan': {
'hartanah': {
'bidang1': {
'type': 'objek'
}
}
},
'tetapan': {
'indeks': {
'routing': {
'peruntukan': {
'sertakan': {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'disediakan_name': 'single_index_with_body',
'create_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'versi': {
'dibuat': '7100299'
}
}
}
}
}

Kesimpulannya

Panduan ini membincangkan bagaimana bekerjasama dengan Elasticsearch untuk membuat API indeks untuk membuat indeks baru. Kami juga membincangkan cara membuat nama yang sesuai untuk tetapan indeks dan konfigurasi.

Dengan menggunakan panduan ini, anda kini dapat membuat dan melihat indeks menggunakan Elasticsearch API.