全部产品
Search
文档中心

PolarDB:Cadangkan dan pulihkan data PolarSearch secara manual

更新时间:Dec 27, 2025

PolarSearch memungkinkan Anda menggunakan fitur snapshot untuk mencadangkan data indeks dari kluster ke Bucket OSS (Object Storage Service) milik Anda sendiri atau memulihkan data dari Bucket OSS. Fitur ini dapat digunakan untuk migrasi data lintas kluster serta pencadangan dan pemulihan kustom untuk kluster PolarSearch. Ini memberikan solusi fleksibel dan hemat biaya untuk perlindungan dan transfer data.

Catatan

Fitur ini saat ini dalam pratinjau undangan. Untuk menggunakannya, ajukan tiket untuk mengaktifkannya.

Lingkup

Penagihan

Fitur snapshot gratis. Menyimpan file snapshot di Bucket OSS Anda akan dikenakan biaya penyimpanan dan permintaan. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan OSS.

Daftarkan repositori snapshot

Sebelum menggunakan fitur snapshot, Anda harus mendaftarkan repositori snapshot dan mengaitkannya dengan Bucket OSS Anda. Gunakan API berikut untuk membuat repositori:

PUT /_snapshot/{repo-name}
{
    "type": "s3",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-Accesskey-Id}", 
      "secret_key": "{your-Accesskey-Secret}"
    }
}

Deskripsi Parameter

Parameter

Deskripsi

{repo-name}

Nama kustom untuk repositori.

type

Tipe repositori. Atur ini ke s3.

endpoint

Titik akhir untuk Bucket OSS Anda. Untuk informasi lebih lanjut, lihat Wilayah dan titik akhir.

bucket

Nama Bucket OSS Anda.

base_path

(Opsional) Jalur direktori root di Bucket OSS tempat file snapshot disimpan.

region

Wilayah tempat bucket berada.

access_key

AccessKey ID Anda.

secret_key

AccessKey secret Anda.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "s3",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-Accesskey-Id}", 
      "secret_key": "{your-Accesskey-Secret}"
    }
  }'

Buat snapshot: cadangkan data ke OSS

Setelah mendaftarkan repositori snapshot, buat snapshot untuk indeks tertentu menggunakan API berikut:

PUT /_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true
{
    "indices": "{index-name}",
    "ignore_unavailable":false
}

Deskripsi Parameter

Kategori parameter

Nama parameter

Deskripsi

Parameter permintaan

wait_for_completion

Menentukan apakah akan menunggu operasi snapshot selesai. Nilai default adalah false.

  • Ekseskusi sinkron: Jika Anda mengatur wait_for_completion=true, perintah menunggu hingga snapshot dibuat sebelum mengembalikan hasil.

  • Ekseskusi asinkron: Jika Anda mengatur wait_for_completion=false, perintah langsung mengembalikan hasil dan snapshot dibuat di latar belakang. Anda dapat memeriksa status snapshot dengan menjalankan perintah berikut. Operasi selesai ketika bidang state dalam tanggapan adalah SUCCESS.

    GET /_snapshot/{repo-name}/{snapshot-name}/_status

Parameter body permintaan

indices

Indeks yang ingin dicadangkan. Anda dapat menggunakan karakter wildcard (*) dan memisahkan beberapa nama indeks dengan koma (,). Secara default, semua indeks dicadangkan.

Catatan

Menggunakan karakter wildcard (*) mencadangkan tabel sistem. Untuk menghindari pencadangan atau pemulihan tabel sistem, tentukan hanya indeks yang Anda butuhkan, atau gunakan tanda hubung (-) untuk mengecualikan tabel sistem.

ignore_unavailable

Menentukan apakah akan mengabaikan indeks yang tidak ada dan melanjutkan snapshot. Nilai default adalah false, yang menyebabkan operasi gagal.

partial

Menentukan apakah mengizinkan snapshot parsial. Jika diatur ke true, data dari shard yang berhasil disimpan meskipun beberapa shard gagal. Nilai default adalah false.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": false
  }'

Lihat snapshot

Gunakan API berikut untuk melihat informasi tentang semua snapshot di repositori snapshot OSS Anda:

GET /_snapshot/{repo-name}/_all?pretty

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X GET "https://{pc-endpoint}:3001/_snapshot/{repo-name}/_all?pretty" -u "{username}:{passwd}"

Pulihkan data

Jalankan perintah berikut untuk memulihkan data indeks dari snapshot tertentu:

Catatan

Untuk memulihkan snapshot dari kluster PolarSearch ke kluster PolarSearch lainnya, kluster PolarSearch tujuan harus mendaftarkan repositori snapshot yang sama seperti kluster PolarSearch sumber. Jika pemulihan terjadi dalam kluster PolarSearch yang sama, Anda tidak perlu mendaftarkannya lagi dan dapat langsung mengeksekusi pemulihan data.

POST /_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true
{
  "indices": "{index-name}",
  "ignore_unavailable": true
}

Deskripsi Parameter

Kategori parameter

Nama parameter

Deskripsi

Parameter permintaan

wait_for_completion

Menentukan apakah akan menunggu pemulihan snapshot selesai. Nilai default adalah false.

  • Ekseskusi sinkron: Jika Anda mengatur wait_for_completion=true, perintah menunggu hingga pemulihan selesai sebelum mengembalikan hasil.

  • Ekseskusi asinkron: Jika Anda mengatur wait_for_completion=false, perintah langsung mengembalikan hasil, dan pekerjaan pemulihan berjalan di latar belakang. Anda dapat memeriksa kemajuan pemulihan indeks dengan menjalankan perintah berikut. Pemulihan selesai ketika bidang stage adalah DONE.

    GET /{index-name}/_recovery

Parameter body permintaan

indices

Menentukan indeks yang ingin dipulihkan. Karakter wildcard * didukung. Beberapa indeks dipisahkan dengan koma ,. Secara default adalah semua indeks.

ignore_unavailable

Menentukan apakah mengabaikan indeks dan melanjutkan pembuatan snapshot jika indeks tidak ada. Secara default adalah false, yang menyebabkan operasi gagal.

partial

Menentukan apakah membuat snapshot parsial. Jika diatur ke true, data dari shard yang berhasil disimpan meskipun beberapa shard gagal. Secara default adalah false.

index_settings

Menggantikan pengaturan indeks dari snapshot selama pemulihan. Misalnya, Anda dapat mengubah jumlah replika agar sesuai dengan konfigurasi kluster tujuan.

ignore_index_settings

Daftar pengaturan indeks yang diabaikan selama pemulihan. Ini biasanya digunakan untuk mengabaikan pengaturan yang spesifik untuk kluster sumber.

Contoh

Ganti parameter dalam perintah berikut dengan informasi Anda sendiri.

curl -X POST "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": true
  }'