全部产品
Search
文档中心

PolarDB:Backup dan pulihkan data PolarSearch secara manual

更新时间:Feb 11, 2026

PolarSearch mendukung pencadangan data indeks dari kluster Anda ke bucket Object Storage Service (OSS) dan pemulihan data dari OSS menggunakan snapshot. Fitur ini memungkinkan migrasi data lintas kluster serta backup dan pemulihan kustom untuk kluster PolarSearch, yang menyediakan solusi fleksibel dan hemat biaya untuk perlindungan data dan transfer data.

Catatan

Fitur ini sedang dalam rilis canary. Untuk menggunakan fitur ini, submit a ticket untuk meminta akses.

Penerapan

Informasi penagihan

Fitur snapshot tidak dikenai biaya. Namun, file snapshot yang disimpan di bucket OSS Anda akan dikenai biaya penyimpanan dan permintaan. Untuk informasi selengkapnya tentang penagihan, lihat OSS Billing overview.

Daftarkan repositori snapshot

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

PUT /_snapshot/{repo-name}
{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-AccessKey-ID}", 
      "secret_key": "{your-AccessKey-secret}",
      "session_token": "{your-STS-Token}"
    }
}

Parameter

Parameter

Deskripsi

{repo-name}

Nama repositori. Tentukan sendiri.

type

Jenis repositori. Tetapkan nilai ini ke oss.

endpoint

Titik akhir bucket OSS Anda. Untuk detailnya, lihat Regions and endpoints.

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.

session_token

(Opsional) kredensial identitas temporary (Security Token Service token) untuk Peran RAM Anda.

Penting

Jika Anda menggunakan token STS, tetapkan access_key dan secret_key ke nilai yang diberikan oleh token STS. Jika Anda tidak menggunakan kredensial temporary, gunakan langsung AccessKey ID dan AccessKey secret jangka panjang Anda.

Contoh

Ganti parameter berikut dengan nilai aktual Anda.

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

Buat snapshot: Backup data ke OSS

Setelah mendaftarkan repositori snapshot, Anda dapat menjalankan perintah berikut untuk membuat snapshot untuk indeks tertentu:

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

Apakah akan menunggu secara sinkron hingga operasi snapshot selesai. Nilai default adalah false.

  • Eksekusi sinkron: Tetapkan wait_for_completion=true. Perintah akan menunggu hingga snapshot selesai sebelum mengembalikan hasil.

  • Eksekusi asinkron: Tetapkan wait_for_completion=false. Perintah langsung mengembalikan respons, dan snapshot berjalan di latar belakang. Gunakan perintah berikut untuk memeriksa status snapshot. Saat bidang state menampilkan SUCCESS, snapshot telah selesai.

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

Parameter isi permintaan

indices

Menentukan indeks yang akan dicadangkan. Mendukung karakter wildcard *. Pisahkan beberapa indeks dengan koma ,. Secara default mencadangkan semua indeks.

Catatan

Menggunakan wildcard * mencakup tabel sistem indeks. Untuk mengecualikannya, tentukan hanya indeks yang ingin Anda cadangkan dan pulihkan, atau gunakan - untuk mengecualikan tabel sistem indeks.

ignore_unavailable

Apakah akan mengabaikan indeks yang hilang dan melanjutkan pembuatan snapshot. Nilai default adalah false (gagal jika indeks tidak ditemukan).

partial

Apakah mengizinkan snapshot parsial. Jika ditetapkan ke true, shard yang berhasil disimpan meskipun beberapa shard gagal. Nilai default adalah false.

Contoh

Ganti parameter berikut dengan nilai aktual Anda.

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

Anda dapat menampilkan daftar semua snapshot di repositori snapshot OSS Anda menggunakan API berikut:

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

Contoh

Ganti parameter berikut dengan nilai aktual Anda.

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

Pulihkan data

Anda dapat menjalankan perintah berikut untuk memulihkan data indeks dari snapshot tertentu menggunakan API berikut:

Catatan

Untuk memulihkan snapshot dari satu kluster PolarSearch ke kluster PolarSearch lainnya, kluster tujuan PolarSearch harus mendaftarkan repositori snapshot yang sama dengan kluster sumber PolarSearch. Jika Anda melakukan pemulihan dalam kluster PolarSearch yang sama, Anda dapat melewati pendaftaran dan langsung memulihkan data.

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

Parameter

Klasifikasi Parameter

Nama Parameter

Deskripsi

Parameter permintaan

wait_for_completion

Apakah akan menunggu secara sinkron hingga operasi pemulihan selesai. Nilai default adalah false.

  • Eksekusi sinkron: Tetapkan wait_for_completion=true. Perintah akan menunggu hingga pemulihan selesai sebelum mengembalikan respons.

  • Eksekusi asinkron: Tetapkan wait_for_completion=false. Perintah langsung mengembalikan respons, dan pekerjaan pemulihan berjalan di latar belakang. Gunakan perintah berikut untuk memeriksa progres pemulihan. Saat bidang stage menampilkan DONE, pemulihan telah selesai.

    GET /{index-name}/_recovery

Parameter isi permintaan

indices

Menentukan indeks yang akan dipulihkan. Mendukung karakter wildcard *. Pisahkan beberapa indeks dengan koma ,. Secara default memulihkan semua indeks.

ignore_unavailable

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

partial

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

index_settings

Menimpa pengaturan indeks dari snapshot selama pemulihan. Misalnya, sesuaikan jumlah replika agar sesuai dengan konfigurasi kluster tujuan.

ignore_index_settings

Menentukan daftar pengaturan indeks yang diabaikan selama pemulihan, biasanya digunakan untuk melewatkan konfigurasi spesifik sumber.

Contoh

Ganti parameter berikut dengan nilai aktual Anda.

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
  }'