Point-in-Time-Suche in Amazon OpenSearch Service - OpenSearch Amazon-Dienst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Point-in-Time-Suche in Amazon OpenSearch Service

Point in Time (PIT) ist ein Suchtyp, mit dem Sie verschiedene Abfragen für einen Datensatz ausführen können, der zeitlich festgelegt ist. Wenn Sie dieselbe Abfrage für denselben Index zu unterschiedlichen Zeitpunkten ausführen, erhalten Sie in der Regel unterschiedliche Ergebnisse, da Dokumente ständig indexiert, aktualisiert und gelöscht werden. Mit PIT können Sie Abfragen anhand eines konstanten Zustands Ihres Datensatzes durchführen.

Der Hauptzweck der PIT-Suche besteht darin, sie mit search_after Funktionen zu verbinden. Dies ist die bevorzugte Paginierungsmethode OpenSearch, insbesondere für tiefe Paginierung, da sie mit einem Datensatz arbeitet, der zeitlich eingefroren ist, nicht an eine Abfrage gebunden ist und eine konsistente Paginierung vor- und rückwärts unterstützt. Sie können PIT mit einer Domain verwenden, auf der Version 2.5 ausgeführt wird. OpenSearch

Anmerkung

Dieses Thema bietet einen Überblick über PIT und einige Dinge, die bei der Verwendung auf einer verwalteten Amazon OpenSearch Service-Domain und nicht auf einem selbstverwalteten OpenSearch Cluster zu beachten sind. Eine vollständige Dokumentation von PIT, einschließlich einer umfassenden API-Referenz, finden Sie unter Point in Time in der OpenSearch Open-Source-Dokumentation.

Überlegungen

Beachten Sie bei der Konfiguration Ihrer PIT-Suchen Folgendes:

  • Wenn Sie ein Upgrade von einer Domain mit OpenSearch Version 2.3 durchführen und eine detaillierte Zugriffskontrolle für PIT-Aktionen benötigen, müssen Sie diese Aktionen und Rollen manuell hinzufügen.

  • Es gibt keine Resilienz für PIT. Der Neustart von Knoten, die Kündigung des Knotens, Bereitstellungen in Blau/Grün und OpenSearch Prozessneustarts führen dazu, dass alle PIT-Daten verloren gehen.

  • Wenn ein Shard während der Blau/Grün-Bereitstellung verschoben wird, werden nur Live-Datensegmente auf den neuen Knoten übertragen. Shard-Segmente, die sich im Besitz von PIT befinden (sowohl exklusiv als auch diejenigen, die gemeinsam mit aktiven Daten genutzt werden), verbleiben auf dem alten Knoten.

  • PIT-Suchen funktionieren derzeit nicht mit asynchroner Suche.

Erstellen Sie eine PIT

Um eine PIT-Abfrage auszuführen, senden Sie HTTP-Anfragen _search/point_in_time unter Verwendung des folgenden Formats an:

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

Sie können die folgenden PIT-Optionen angeben:

Optionen Beschreibung Standardwert Erforderlich
keep_alive

Die Dauer der Beibehaltung der PIT. Jedes Mal, wenn Sie mit einer Suchanfrage auf eine PIT zugreifen, wird die PIT-Lebensdauer um den Zeitraum verlängert, der dem keep_alive Parameter entspricht. Dieser Abfrageparameter ist erforderlich, wenn Sie eine PIT erstellen, bei einer Suchanfrage jedoch optional.

Ja
preference

Eine Zeichenfolge, die den Knoten oder den Shard angibt, der für die Suche verwendet wurde.

Zufällig Nein
routing Eine Zeichenfolge, die angibt, Suchanfragen an einen bestimmten Shard weiterzuleiten. Das Dokument ist _id Nein
expand_wildcards Eine Zeichenfolge, die den Indextyp angibt, der dem Platzhaltermuster entsprechen kann. Unterstützt kommagetrennte Werte. Gültige Werte:
  • all: Entspricht einem beliebigen Index oder Datenstrom, auch versteckten.

  • open: Ordnet offene, nicht versteckte Indizes oder nicht versteckte Datenströme zu.

  • closed: Ordnet geschlossene, nicht versteckte Indizes oder nicht versteckte Datenströme zu.

  • hidden: Ordnet versteckte Indizes oder Datenströme zu. Muss mit „offen“, „geschlossen“ oder „offen“ und „geschlossen“ kombiniert werden.

  • none: Platzhaltermuster werden nicht akzeptiert.

open Nein
allow_partial_pit_creation Ein boolescher Wert, der angibt, ob eine PIT mit teilweisen Fehlern erstellt werden soll. true Nein

Beispielantwort

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

Wenn Sie eine PIT erstellen, erhalten Sie in der Antwort eine PIT-ID. Dies ist die ID, die Sie verwenden, um Suchen mit der PIT durchzuführen.

Berechtigungen zu einem bestimmten Zeitpunkt

PIT unterstützt eine differenzierte Zugriffskontrolle. Wenn Sie ein Upgrade auf eine Domain der OpenSearch Version 2.5 durchführen und eine detaillierte Zugriffskontrolle benötigen, müssen Sie manuell Rollen mit den folgenden Berechtigungen erstellen:

# 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"

Für Domänen mit OpenSearch Version 2.5 und höher können Sie die integrierte point_in_time_full_access Rolle verwenden. Weitere Informationen finden Sie in der OpenSearch Dokumentation unter Sicherheitsmodell.

PIT-Einstellungen

OpenSearch ermöglicht es Ihnen, alle verfügbaren PIT-Einstellungen mithilfe der _cluster/settings API zu ändern. Im OpenSearch Service können Sie derzeit keine Einstellungen ändern.

Cluster-übergreifende Suche

Sie können PITs erstellen, mit PIT-IDs suchen, PITs auflisten und PITs clusterübergreifend löschen, wobei die folgenden geringfügigen Einschränkungen gelten:

  • Sie können nur in der Quelldomäne alle PITs auflisten und alle löschen.

  • Sie können Netzwerk-Roundtrips als Teil einer clusterübergreifenden Suchabfrage nicht minimieren.

Weitere Informationen finden Sie unter Clusterübergreifende Suche in Amazon Service OpenSearch .

UltraWarm

PIT-Suchen mit UltraWarm Indizes funktionieren weiterhin. Weitere Informationen finden Sie unter UltraWarm Speicher für Amazon OpenSearch Service.

Anmerkung

Sie können die PIT-Suchstatistiken in CloudWatch überwachen. Eine vollständige Liste der Metriken finden Sie unter Metriken zum aktuellen Zeitpunkt.