Pencarian elastis

Elasticsearch Reindex Semua Indeks dan Periksa Statusnya

Elasticsearch Reindex Semua Indeks dan Periksa Statusnya
Saat Anda bekerja dengan database, Anda pasti perlu membuat perubahan seperti menambahkan, menghapus, dan memodifikasi data.

Saat Anda memodifikasi data dalam indeks Elasticsearch, ini dapat menyebabkan waktu henti karena fungsionalitas selesai dan data diindeks ulang.

Tutorial ini akan memberi Anda cara yang jauh lebih baik untuk memperbarui indeks tanpa mengalami downtime dengan sumber data yang ada. Menggunakan API pengindeksan ulang Elasticsearch, kami akan menyalin data dari sumber tertentu ke sumber lain.

Mari kita mulai.

CATATAN: Sebelum kita mulai, operasi pengindeksan ulang membutuhkan banyak sumber daya, terutama pada indeks besar. Untuk meminimalkan waktu yang diperlukan untuk Pengindeksan Ulang, nonaktifkan number_of_replicas dengan mengatur nilai ke 0 dan aktifkan setelah proses selesai.

Aktifkan _Bidang Sumber

Operasi Pengindeksan Ulang mengharuskan bidang sumber diaktifkan pada semua dokumen dalam indeks sumber. Perhatikan bahwa bidang sumber tidak diindeks dan tidak dapat dicari tetapi berguna untuk berbagai permintaan.

Aktifkan bidang _Source dengan menambahkan entri seperti yang ditunjukkan di bawah ini:

PUT indeks_1

"pemetaan":
"_sumber":
"diaktifkan": benar


Mengindeks Ulang Semua Dokumen

Untuk mengindeks ulang dokumen, kita perlu menentukan sumber dan tujuan. Sumber dan tujuan dapat berupa indeks, alias indeks, dan aliran data yang ada. Anda dapat menggunakan indeks dari cluster lokal atau remote.

CATATAN: Agar pengindeksan berhasil terjadi, sumber dan tujuan tidak boleh serupa. Anda juga harus mengonfigurasi tujuan seperti yang diperlukan sebelum mengindeks ulang karena tidak menerapkan pengaturan dari sumber atau template terkait apa pun.

Sintaks umum untuk Reindexing adalah sebagai:

POSTING /_reindex

Mari kita mulai dengan membuat dua indeks. Yang pertama akan menjadi sumber, dan yang lainnya akan menjadi tujuan.

PUT /source_index

"settings": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliases":
"alias_1": ,
"alias_2":
"filter": "istilah":
"pengguna.id": "kibana"
,"perutean": "1"


Perintah cURL adalah:

curl -XPUT "http://localhost:9200/source_index" -H 'Content-Type: application/json' -d'  "settings": "number_of_replicas": 0, "number_of_shards": 1,  "mappings" : "_source": "enabled": true,"aliases":     "alias_1": ,    "alias_2":       "filter": "term":         "user.id": "kibana"      ,"perutean": "1"      '

Sekarang untuk indeks tujuan (Anda dapat menggunakan perintah di atas dan mengubah beberapa hal atau menggunakan yang diberikan di bawah ini):

PUT /destination_index

"pengaturan": "number_of_replicas": 0, "number_of_shards": 1,
"mappings": "_source": "enabled": true,"aliases":
"alias_3": ,
"alias_4":
"filter": "istilah":
"pengguna.id": "kibana"
,"perutean": "1"


Seperti biasa, pengguna cURL dapat menggunakan perintah:

curl -XPUT "http://localhost:9200/destination_index" -H 'Content-Type: application/json' -d'  "settings": "number_of_replicas": 0, "number_of_shards": 1,  "mappings" : "_source": "enabled": true,"aliases":     "alias_3": ,    "alias_4":      "filter": "term":        "user.id": "kibana"      ,"routing": "1"      '

Sekarang, kami memiliki indeks yang ingin kami gunakan, kami kemudian dapat melanjutkan untuk mengindeks ulang dokumen.

Pertimbangkan permintaan di bawah ini yang menyalin data dari source_index ke destination_index:

POST _reindex

“sumber”:
"indeks": "indeks_sumber"
,
"tujuan":
"indeks": "indeks_tujuan"

Perintah cURL untuk ini adalah:

curl -XPOST "http://localhost:9200/_reindex" -H 'Content-Type: application/json' -d'  "source":     "index": ".kibana"  ,  "tujuan":     "index": "destination_index"  '

Menjalankan perintah ini akan memberi Anda informasi terperinci tentang operasi yang dilakukan.

CATATAN: source_index harus memiliki data.


"mengambil" : 2836,
"timed_out" : salah,
"jumlah" : 13059,
"diperbarui" : 0,
"diciptakan" : 13059,
"dihapus" : 0,
"batch" : 14,
"version_conflicts" : 0,
"tidak" : 0,
"coba lagi" :
"massal" : 0,
"pencarian" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0,
"kegagalan" : [ ]

Memeriksa Status Pengindeksan Ulang

Anda dapat melihat status operasi Pengindeksan Ulang hanya dengan menggunakan _tasks. Misalnya, pertimbangkan permintaan di bawah ini:

DAPATKAN /_tugas?detail=benar&tindakan=*indeks ulang&grup_oleh=orang tua

Perintah cURL adalah:

curl -XGET "http://localhost:9200/_tasks?detail=benar&tindakan=*indeks ulang&grup_oleh=orang tua"

Itu akan memberi Anda informasi terperinci tentang proses pengindeksan ulang seperti yang ditunjukkan di bawah ini:


"tugas" :
"FTd_2iXjSXudN_Ua4tZhHg:51847" :
"simpul" : "FTd_2iXjSXudN_Ua4tZhHg",
"id" : 51847,
"tipe" : "transportasi",
"action" : "indeks:data/tulis/reindex",
"status" :
"jumlah" : 13059,
"diperbarui" : 9000,
"diciptakan" : 0,
"dihapus" : 0,
"batch" : 10,
"version_conflicts" : 0,
"tidak" : 0,
"mencoba lagi" :
"massal" : 0,
"pencarian" : 0
,
"throttled_millis" : 0,
"requests_per_second" : -1.0,
"throttled_until_millis" : 0
,
"description" : "indeks ulang dari [source_index] ke [destination_index][_doc]",
"start_time_in_millis" : 1611247308063,
"running_time_in_nanos" : 2094157836,
"dapat dibatalkan" : benar,
"tajuk" :


Kesimpulan

Kami telah membahas semua yang perlu Anda ketahui tentang menggunakan Elasticsearch Reindexing API untuk menyalin dokumen dari satu indeks (sumber) ke indeks lainnya (tujuan). Meskipun ada lebih banyak lagi untuk Reindexing API, panduan ini akan membantu Anda memulai.

Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...
Mesin Game Gratis dan Sumber Terbuka untuk Mengembangkan Game Linux
Artikel ini akan membahas daftar mesin game sumber terbuka dan gratis yang dapat digunakan untuk mengembangkan game 2D dan 3D di Linux. Ada banyak mes...