Pencarian Elastik

Elasticsearch Reindex Semua Indeks dan Periksa Statusnya

Elasticsearch Reindex Semua Indeks dan Periksa Statusnya
Semasa anda menggunakan pangkalan data, anda pasti perlu membuat perubahan seperti menambahkan, membuang, dan mengubah data.

Apabila anda mengubah data dalam indeks Elasticsearch, data boleh menyebabkan downtime apabila fungsinya selesai dan data akan dimasukkan kembali.

Tutorial ini akan memberi anda kaedah yang lebih baik untuk mengemas kini indeks tanpa mengalami downtime dengan sumber data yang ada. Menggunakan API pengindeksan semula Elasticsearch, kami akan menyalin data dari sumber tertentu ke sumber lain.

Mari kita mulakan.

NOTA: Sebelum kita memulakan, operasi pengindeksan semula memerlukan banyak sumber, terutama pada indeks besar. Untuk meminimumkan masa yang diperlukan untuk Reindexing, nonaktifkan number_of_replicas dengan menetapkan nilai ke 0 dan aktifkan setelah proses selesai.

Dayakan Medan _Source

Operasi Reindexing memerlukan medan sumber diaktifkan pada semua dokumen dalam indeks sumber. Perhatikan bahawa medan sumber tidak diindeks dan tidak dapat dicari tetapi berguna untuk pelbagai permintaan.

Aktifkan medan _Source dengan menambahkan entri seperti yang ditunjukkan di bawah:

PUT indeks_1

"Pemetaan":
"_sumber":
"diaktifkan": benar


Reindex Semua Dokumen

Untuk mengindeks semula dokumen, kita perlu menentukan sumber dan tujuan. Sumber dan tujuan dapat berupa indeks, alias indeks, dan aliran data yang ada. Anda boleh menggunakan indeks dari kelompok tempatan atau jarak jauh.

NOTA: Agar pengindeksan berjaya berlaku, sumber dan destinasi tidak boleh serupa. Anda juga mesti mengkonfigurasi tujuan seperti yang diperlukan sebelum Reindexing kerana tidak menerapkan tetapan dari sumber atau templat yang berkaitan.

Sintaks umum untuk Reindexing adalah seperti:

POST / _reindex

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

PUT / sumber_indeks

"tetapan": "number_of_replicas": 0, "number_of_shards": 1,
"pemetaan": "_source": "enabled": true, "aliases":
"alias_1": ,
"alias_2":
"filter": "term":
"pengguna.id ":" kibana "
, "routing": "1"


Perintah cURL adalah:

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

Sekarang untuk indeks tujuan (anda boleh menggunakan arahan di atas dan mengubah beberapa perkara atau menggunakan yang diberikan di bawah):

PUT / destinasi_index

"tetapan": "number_of_replicas": 0, "number_of_shards": 1,
"pemetaan": "_source": "enabled": true, "aliases":
"alias_3": ,
"alias_4":
"filter": "term":
"pengguna.id ":" kibana "
, "routing": "1"


Seperti biasa, pengguna cURL boleh menggunakan arahan:

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

Sekarang, kita mempunyai indeks yang ingin kita gunakan, kita kemudian dapat melanjutkan untuk memasukkan kembali dokumen.

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

POST _reindex

"Sumber":
"indeks": "source_index"
,
"dest":
"indeks": "destination_index"

Perintah cURL untuk ini adalah:

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

Melaksanakan arahan ini harus memberi anda maklumat terperinci mengenai operasi yang dijalankan.

NOTA: Source_index harus mempunyai data.


"mengambil": 2836,
"timed_out": salah,
"jumlah": 13059,
"dikemas kini": 0,
"dibuat": 13059,
"dipadam": 0,
"kumpulan": 14,
"version_conflicts": 0,
"noops": 0,
"mencuba semula":
"pukal": 0,
"cari": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0,
"kegagalan": []

Memeriksa Status Reindexing

Anda dapat melihat status operasi Reindexing dengan hanya menggunakan _tasks. Sebagai contoh, pertimbangkan permintaan di bawah:

DAPATKAN / _tugas?terperinci = benar & tindakan = * reindex & group_by = ibu bapa

Perintah cURL adalah:

curl -XGET "http: // localhost: 9200 / _tasks?terperinci = benar & tindakan = * reindex & group_by = ibu bapa "

Itu akan memberi anda maklumat terperinci mengenai proses Reindexing seperti yang ditunjukkan di bawah:


"tugas":
"FTd_2iXjSXudN_Ua4tZhHg: 51847":
"node": "FTd_2iXjSXudN_Ua4tZhHg",
"id": 51847,
"type": "pengangkutan",
"action": "indeks: data / tulis / reindeks",
"status":
"jumlah": 13059,
"dikemas kini": 9000,
"dibuat": 0,
"dipadam": 0,
"kumpulan": 10,
"version_conflicts": 0,
"noops": 0,
"mencuba semula":
"pukal": 0,
"cari": 0
,
"throttled_millis": 0,
"request_per_second": -1.0,
"throttled_until_millis": 0
,
"description": "reindex dari [source_index] to [destination_index] [_ doc]",
"start_time_in_millis": 1611247308063,
"running_time_in_nanos": 2094157836,
"boleh dibatalkan": benar,
"tajuk":


Kesimpulannya

Kami telah merangkumi semua yang perlu anda ketahui tentang menggunakan Elasticsearch Reindexing API untuk menyalin dokumen dari satu indeks (sumber) ke indeks lain (destinasi). Walaupun terdapat lebih banyak API Reindexing, panduan ini akan membantu anda memulakannya.

Pasang Alat Pemampatan 7Zip di Ubuntu
Cara Memasang 7-zip di Ubuntu dan menggunakannya untuk memampatkan dan menyahmampatkan sebarang fail atau folder Apabila anda ingin memindahkan fail a...
Bandizip, perisian pengarkiban yang sangat pantas untuk Windows
Sekiranya anda mencari alat pengarkiban yang dapat digunakan sebagai alternatif kepada alat zip Windows yang terpasang, maka anda mungkin tidak lebih ...
B1 Archiver Percuma perisian pengarkiban, pemampatan, pengekstrakan fail percuma
B1 Archiver Percuma, adalah pengurus arkib fail percuma yang dapat melakukan operasi dengan mudah seperti pengarkiban fail, pemampatan fail, pengekstr...