Recherche ponctuelle dans le temps dans Amazon OpenSearch Service - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Recherche ponctuelle dans le temps dans Amazon OpenSearch Service

Le point in time (PIT) est un type de recherche qui vous permet d'exécuter différentes requêtes sur un ensemble de données fixe dans le temps. Généralement, lorsque vous exécutez la même requête sur le même index à différents moments, vous obtenez des résultats différents car les documents sont constamment indexés, mis à jour et supprimés. Avec PIT, vous pouvez effectuer des requêtes par rapport à un état constant de votre ensemble de données.

L'utilisation principale de la recherche PIT est de l'associer à des search_after fonctionnalités. Il s'agit de la méthode de pagination préférée OpenSearch, en particulier pour la pagination profonde, car elle fonctionne sur un ensemble de données figé dans le temps, elle n'est pas liée à une requête et elle permet une pagination cohérente en avant et en arrière. Vous pouvez utiliser PIT avec un domaine exécutant OpenSearch la version 2.5.

Note

Cette rubrique fournit une vue d'ensemble du PIT et de certains éléments à prendre en compte lors de son utilisation sur un domaine Amazon OpenSearch Service géré plutôt que sur un OpenSearch cluster autogéré. Pour une documentation complète du PIT, y compris une référence complète sur les API, voir Point in Time dans la OpenSearch documentation open source.

Considérations

Tenez compte des points suivants lorsque vous configurez vos recherches PIT :

  • Si vous effectuez une mise à niveau depuis un domaine exécutant OpenSearch la version 2.3 et que vous avez besoin d'un contrôle d'accès précis pour les actions PIT, vous devez ajouter ces actions et rôles manuellement.

  • Il n'y a aucune résilience pour le PIT. Le redémarrage du nœud, la fermeture du nœud, les déploiements bleu/vert et OpenSearch le redémarrage des processus entraînent la perte de toutes les données PIT.

  • Si une partition est déplacée lors d'un déploiement bleu/vert, seuls les segments de données actifs sont transférés vers le nouveau nœud. Les segments de fragments détenus par le PIT (à la fois exclusivement et ceux partagés avec les données dynamiques) restent sur l'ancien nœud.

  • Les recherches PIT ne fonctionnent actuellement pas avec la recherche asynchrone.

Créez un PIT

Pour exécuter une requête PIT, envoyez des requêtes HTTP au format suivant : _search/point_in_time

POST opensearch-domain/my-index/_search/point_in_time?keep_alive=time

Vous pouvez spécifier les options PIT suivantes :

Options Description Valeur par défaut Obligatoire
keep_alive

Le temps nécessaire pour conserver le PIT. Chaque fois que vous accédez à un PIT avec une demande de recherche, la durée de vie du PIT est prolongée d'une durée égale au keep_alive paramètre. Ce paramètre de requête est obligatoire lorsque vous créez un PIT, mais facultatif dans une demande de recherche.

Oui
preference

Chaîne qui indique le nœud ou le fragment utilisé pour effectuer la recherche.

Aléatoire Non
routing Chaîne qui indique d'acheminer les demandes de recherche vers une partition spécifique. Le document est _id Non
expand_wildcards Chaîne qui indique le type d'index qui peut correspondre au modèle générique. Supporte les valeurs séparées par des virgules. Les valeurs possibles sont les suivantes :
  • all: correspond à n'importe quel index ou flux de données, y compris les index cachés.

  • open: Faites correspondre les index ouverts, non masqués ou les flux de données non masqués.

  • closed: Faites correspondre les index fermés, non masqués ou les flux de données non masqués.

  • hidden: Faites correspondre les index ou les flux de données cachés. Doit être combiné avec ouvert, fermé ou à la fois ouvert et fermé.

  • none: Aucun modèle générique n'est accepté.

open Non
allow_partial_pit_creation Un booléen qui indique s'il faut créer un PIT avec des défaillances partielles. true Non

Exemple de réponse

{ "pit_id": "o463QQEPbXktaW5kZXgtMDAwMDAxFnNOWU43ckt3U3IyaFVpbGE1UWEtMncAFjFyeXBsRGJmVFM2RTB6eVg1aVVqQncAAAAAAAAAAAIWcDVrM3ZIX0pRNS1XejE5YXRPRFhzUQEWc05ZTjdyS3dTcjJoVWlsYTVRYS0ydwAA", "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "creation_time": 1658146050064 }

Lorsque vous créez un PIT, vous recevez un identifiant PIT dans la réponse. Il s'agit de l'identifiant que vous utilisez pour effectuer des recherches avec le PIT.

Autorisations ponctuelles

Le PIT prend en charge un contrôle d'accès précis. Si vous effectuez une mise à niveau vers un domaine en OpenSearch version 2.5 et que vous avez besoin d'un contrôle d'accès précis, vous devez créer manuellement des rôles dotés des autorisations suivantes :

# Allows users to use all point in time search search functionality point_in_time_full_access: reserved: true index_permissions: - index_patterns: - '*' allowed_actions: - "indices:data/read/point_in_time/create" - "indices:data/read/point_in_time/delete" - "indices:data/read/point_in_time/readall" - "indices:data/read/search" - "indices:monitor/point_in_time/segments" # Allows users to use point in time search search functionality for specific index # All type operations like list all PITs, delete all PITs are not supported in this case point_in_time_index_access: reserved: true index_permissions: - index_patterns: - 'my-index-1' allowed_actions: - "indices:data/read/point_in_time/create" - "indices:data/read/point_in_time/delete" - "indices:data/read/search" - "indices:monitor/point_in_time/segments"

Pour les domaines dotés de OpenSearch la version 2.5 ou supérieure, vous pouvez utiliser le point_in_time_full_access rôle intégré. Pour plus d'informations, consultez la section Modèle de sécurité dans la OpenSearch documentation.

Réglages PIT

OpenSearch vous permet de modifier tous les paramètres PIT disponibles à l'aide de l'_cluster/settingsAPI. Dans OpenSearch Service, vous ne pouvez actuellement pas modifier les paramètres.

Recherche croisée entre clusters

Vous pouvez créer des PIT, effectuer une recherche à l'aide d'identifiants PIT, répertorier des PIT et supprimer des PIT dans des clusters avec les limitations mineures suivantes :

  • Vous pouvez tout répertorier et supprimer tous les PIT uniquement sur le domaine source.

  • Vous ne pouvez pas minimiser les allers-retours réseau dans le cadre d'une requête de recherche croisée entre clusters.

Pour plus d’informations, consultez Recherche entre clusters dans Amazon Service OpenSearch .

UltraWarm

Les recherches PIT à l'aide UltraWarm d'index continuent de fonctionner. Pour plus d’informations, consultez UltraWarm stockage pour Amazon OpenSearch Service.

Note

Vous pouvez suivre les statistiques de recherche PIT dans CloudWatch. Pour accéder à une liste complète des métriques , veuillez consulter Mesures ponctuelles.