Asynchrone Suche in Amazon Service OpenSearch - 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.

Asynchrone Suche in Amazon Service OpenSearch

Mit der asynchronen Suche nach Amazon OpenSearch Service können Sie eine Suchabfrage stellen, die im Hintergrund ausgeführt wird, den Fortschritt der Anfrage überwachen und Ergebnisse zu einem späteren Zeitpunkt abrufen. Sie können Teilergebnisse abrufen, sobald sie verfügbar sind, bevor die Suche abgeschlossen ist. Nachdem die Suche abgeschlossen ist, speichern Sie die Ergebnisse für einen späteren Abruf und Analyse.

Für die asynchrone Suche ist OpenSearch 1.0 oder höher oder Elasticsearch 7.10 oder höher erforderlich.

Diese Dokumentation bietet einen kurzen Überblick über die asynchrone Suche. Es werden auch die Einschränkungen der Verwendung der asynchronen Suche mit einer verwalteten Amazon OpenSearch Service-Domain anstelle eines OpenSearch Open-Source-Clusters erörtert. Eine vollständige Dokumentation der asynchronen Suche, einschließlich verfügbarer Einstellungen, Berechtigungen und einer vollständigen API-Referenz, finden Sie in der Dokumentation unter Asynchrone Suche. OpenSearch

Beispiele für Suchaufrufe

Um eine asynchrone Suche durchzuführen, senden Sie HTTP-Anforderungen an _plugins/_asynchronous_search im folgenden Format:

POST opensearch-domain/_plugins/_asynchronous_search
Anmerkung

Wenn Sie Elasticsearch 7.10 anstelle einer OpenSearch Version verwenden, ersetzen Sie dies _opendistro in allen asynchronen Suchanfragen _plugins durch.

Sie können die folgenden asynchronen Suchoptionen angeben:

Optionen Beschreibung Standardwert Erforderlich
wait_for_completion_timeout

Gibt die Zeitspanne an, in der Sie auf die Ergebnisse warten möchten. Sie können die Ergebnisse sehen, die Sie innerhalb dieser Zeit erhalten, genau wie bei einer normalen Suche. Sie können die verbleibenden Ergebnisse anhand einer ID abfragen. Der Höchstwert beträgt 300 Sekunden.

1 Sekunde Nein
keep_on_completion

Gibt an, ob die Ergebnisse nach Abschluss der Suche im Cluster gespeichert werden sollen. Sie können die gespeicherten Ergebnisse zu einem späteren Zeitpunkt untersuchen.

false Nein
keep_alive

Gibt die Zeit an, in der das Ergebnis im Cluster gespeichert wird. 2d bedeutet beispielsweise, dass die Ergebnisse 48 Stunden lang im Cluster gespeichert werden. Die gespeicherten Suchergebnisse werden nach diesem Zeitraum gelöscht oder wenn die Suche abgebrochen wird. Beachten Sie, dass dies die Abfragelaufzeit einschließt. Wenn die Abfrage dieses Mal überläuft, bricht der Prozess diese Abfrage automatisch ab.

12 Stunden Nein

Beispielanforderung

POST _plugins/_asynchronous_search/?pretty&size=10&wait_for_completion_timeout=1ms&keep_on_completion=true&request_cache=false { "aggs": { "city": { "terms": { "field": "city", "size": 10 } } } }
Anmerkung

Alle Anforderungsparameter, die für eine Standard-_search-Abfrage gelten, werden unterstützt. Wenn Sie Elasticsearch 7.10 anstelle einer OpenSearch Version verwenden, ersetzen Sie es durch. _plugins _opendistro

Asynchrone Suchberechtigungen

Die asynchrone Suche unterstützt eine abgestimmte Zugriffskontrolle. Ausführliche Informationen zum Mischen und Abgleichen von Berechtigungen für Ihren Anwendungsfall finden Sie unter Sicherheit bei der asynchronen Suche.

Für Domains, bei denen eine abgestimmte Zugriffssteuerung aktiviert ist, benötigen Sie die folgenden Mindestberechtigungen für eine Rolle:

# Allows users to use all asynchronous search functionality asynchronous_search_full_access: reserved: true cluster_permissions: - 'cluster:admin/opensearch/asynchronous-search/*' index_permissions: - index_patterns: - '*' allowed_actions: - 'indices:data/read/search*' # Allows users to read stored asynchronous search results asynchronous_search_read_access: reserved: true cluster_permissions: - 'cluster:admin/opensearch/asynchronous-search/get'

Verwenden Sie für Domains mit deaktivierter Zugriffssteuerung den IAM-Zugriff und den geheimen Schlüssel, um alle Anforderungen zu signieren. Sie können mit der asynchronen Such-ID auf die Ergebnisse zugreifen.

Asynchrone Sucheinstellungen

OpenSearch ermöglicht es Ihnen, alle verfügbaren asynchronen Sucheinstellungen mithilfe der API zu ändern. _cluster/settings In OpenSearch Service können Sie nur die folgenden Einstellungen ändern:

  • plugins.asynchronous_search.node_concurrent_running_searches

  • plugins.asynchronous_search.persist_search_failures

Cluster-übergreifende Suche

Sie können eine asynchrone Suche über Cluster mit den folgenden geringfügigen Einschränkungen durchführen:

  • Sie können eine asynchrone Suche nur in der Quell-Domain ausführen.

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

Wenn Sie eine Verbindung zwischen domain-a -> domain-b mit dem Verbindungsalias cluster_b und domain-a -> domain-c mit dem Verbindungsalias cluster_c einrichten, suchen Sie domain-a, domain-b und domain-c asynchron, wie folgt:

POST https://src-domain.us-east-1.es.amazonaws.com/local_index,cluster_b:b_index,cluster_c:c_index/_plugins/_asynchronous_search/?pretty&size=10&wait_for_completion_timeout=500ms&keep_on_completion=true&request_cache=false { "size": 0, "_source": { "excludes": [] }, "aggs": { "2": { "terms": { "field": "clientip", "size": 50, "order": { "_count": "desc" } } } }, "stored_fields": [ "*" ], "script_fields": {}, "docvalue_fields": [ "@timestamp" ], "query": { "bool": { "must": [ { "query_string": { "query": "status:404", "analyze_wildcard": true, "default_field": "*" } }, { "range": { "@timestamp": { "gte": 1483747200000, "lte": 1488326400000, "format": "epoch_millis" } } } ], "filter": [], "should": [], "must_not": [] } } }

Antwort

{ "id" : "Fm9pYzJyVG91U19xb0hIQUJnMHJfRFEAAAAAAAknghQ1OWVBczNZQjVEa2dMYTBXaTdEagAAAAAAAAAB", "state" : "RUNNING", "start_time_in_millis" : 1609329314796, "expiration_time_in_millis" : 1609761314796 }

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

UltraWarm

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

Anmerkung

Sie können asynchrone Suchstatistiken in überwachen. CloudWatch Eine vollständige Liste der Metriken finden Sie unter Asynchrone Suchmetriken.