Tous les produits
Search
Centre de documentation

PolarDB:Sauvegarde et restauration manuelles des données PolarSearch

Dernière mise à jour :Aug 26, 2026

PolarSearch vous permet d'utiliser la fonctionnalité de snapshot pour sauvegarder les données d'index d'un cluster vers votre propre bucket Object Storage Service (OSS) ou pour restaurer des données depuis un bucket OSS. Cette fonctionnalité peut être utilisée pour la migration de données entre clusters ainsi que pour la sauvegarde et la récupération personnalisées des clusters PolarSearch. Elle offre une solution flexible et économique pour la protection et le transfert des données.

Remarque

Cette fonctionnalité est actuellement en version préliminaire. Pour l'utiliser, submit a ticket afin de l'activer.

Prérequis

Facturation

La fonctionnalité de snapshot est gratuite. Le stockage des fichiers de snapshot dans votre bucket OSS entraîne des frais de stockage et de requête. Pour plus d'informations, consultez la rubrique Présentation de la facturation OSS.

Enregistrer un référentiel de snapshot

Avant d'utiliser la fonctionnalité de snapshot, vous devez enregistrer un référentiel de snapshot et l'associer à votre bucket OSS. Utilisez l'API suivante pour créer le référentiel :

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}",
      "compress": true,
      "chunk_size": "512mb"
    }
}

Description des paramètres

Paramètre

Description

{repo-name}

Nom personnalisé du référentiel.

type

Type du référentiel. La valeur doit être définie sur oss.

endpoint

Endpoint de votre bucket OSS. Pour plus d'informations, consultez la rubrique Régions et endpoints.

bucket

Nom de votre bucket OSS.

base_path

(Facultatif) Chemin du répertoire racine dans le bucket OSS où les fichiers de snapshot sont stockés.

region

Région où se trouve le bucket.

access_key

Votre AccessKey ID.

secret_key

Votre AccessKey Secret.

session_token

(Facultatif) Jeton STS pour votre rôle RAM.

Important

Si vous utilisez un jeton STS, vous devez également définir les paramètres access_key et secret_key avec les valeurs issues du jeton STS. Si vous n'utilisez pas de jeton STS, utilisez votre AccessKey ID et votre AccessKey Secret à long terme.

compress

(Facultatif) Indique s'il faut compresser les fichiers de métadonnées de snapshot, tels que les mappings et les paramètres d'index. Ce paramètre n'affecte pas les fichiers de données.

La valeur par défaut est false.

chunk_size

(Facultatif) Limite de taille pour les téléchargements fragmentés lors du processus de snapshot. Les données dépassant cette taille sont téléchargées vers OSS par fragments.

La valeur par défaut est 1 Go.

Exemple

Remplacez les paramètres de la commande suivante par vos propres informations.

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

Créer un snapshot : sauvegarder des données vers OSS

Une fois que vous avez enregistré un référentiel de snapshots, créez un snapshot pour un index spécifique à l'aide de l'API suivante :

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

Description des paramètres

Catégorie de paramètre

Nom du paramètre

Description

Paramètre de requête

wait_for_completion

Indique s'il faut attendre la fin de l'opération de snapshot. La valeur par défaut est false.

  • Exécution synchrone : si vous définissez wait_for_completion=true, la commande attend la création du snapshot avant de renvoyer un résultat.

  • Exécution asynchrone : si vous définissez wait_for_completion=false, la commande renvoie immédiatement une réponse et le snapshot est créé en arrière-plan. Vous pouvez vérifier l'état du snapshot en exécutant la commande suivante. L'opération est terminée lorsque le champ state de la réponse indique SUCCESS.

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

Paramètres du corps de la requête

indices

Les indexes à sauvegarder. Vous pouvez utiliser le caractère générique (*) et séparer plusieurs noms d'index par des virgules (,). Par défaut, tous les indexes sont sauvegardés.

Remarque

L'utilisation du caractère générique (*) entraîne la sauvegarde des tables système. Pour éviter de sauvegarder ou de restaurer les tables système, spécifiez uniquement les indexes nécessaires ou utilisez un trait d'union (-) pour exclure les tables système.

ignore_unavailable

Indique s'il faut ignorer un index inexistant et poursuivre le snapshot. La valeur par défaut est false, ce qui entraîne l'échec de l'opération.

partial

Indique s'il faut autoriser les snapshots partiels. Si la valeur est définie sur true, les données des shards réussis sont enregistrées même si certains shards échouent. La valeur par défaut est false.

Exemple

Remplacez les paramètres de la commande suivante par vos propres informations.

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

Consulter les snapshots

Utilisez l'API suivante pour consulter les informations relatives à tous les snapshots de votre référentiel de snapshots OSS :

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

Exemple

Remplacez les paramètres de la commande suivante par vos propres informations.

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

Restauration des données

Exécutez la commande suivante pour restaurer les données d'index à partir d'un snapshot spécifique :

Remarque

Pour restaurer un snapshot d'un cluster PolarSearch vers un autre cluster PolarSearch, le cluster cible doit enregistrer le même référentiel de snapshots que le cluster source. Si la restauration s'effectue au sein du même cluster PolarSearch, il n'est pas nécessaire de procéder à un nouvel enregistrement ; vous pouvez lancer directement la restauration des données.

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

Paramètres

Catégorie de paramètre

Nom du paramètre

Description

Paramètre de requête

wait_for_completion

Indique s'il faut attendre la fin de la restauration du snapshot. La valeur par défaut est false.

  • Exécution synchrone : si vous définissez wait_for_completion=true, la commande attend la fin de la restauration avant de renvoyer une réponse.

  • Exécution asynchrone : si vous définissez wait_for_completion=false, la commande renvoie immédiatement une réponse et la tâche de restauration s'exécute en arrière-plan. Vous pouvez vérifier la progression de la restauration de l'index en exécutant la commande suivante. La restauration est terminée lorsque le champ stage affiche la valeur DONE.

    GET /{index-name}/_recovery

Paramètres du corps de la requête

indices

Spécifie les index à restaurer. Le caractère générique * est pris en charge. Plusieurs index sont séparés par une virgule ,. Par défaut, tous les index sont concernés.

ignore_unavailable

Indique s'il faut ignorer un index inexistant et poursuivre la création du snapshot. La valeur par défaut est false, ce qui entraîne l'échec de l'opération.

partial

Indique s'il faut créer un snapshot partiel. Si la valeur est définie sur true, les données des shards ayant réussi sont enregistrées, même si certains shards échouent. La valeur par défaut est false.

index_settings

Remplace les paramètres d'index du snapshot lors de la restauration. Vous pouvez par exemple modifier le nombre de réplicas pour qu'il corresponde à la configuration du cluster de destination.

ignore_index_settings

Liste des paramètres d'index à ignorer lors de la restauration. Cette option est généralement utilisée pour ignorer les paramètres spécifiques au cluster source.

Exemple

Remplacez les paramètres de la commande suivante par vos propres informations.

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