Ricerca asincrona in Amazon Service OpenSearch - OpenSearch Servizio Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ricerca asincrona in Amazon Service OpenSearch

Con la ricerca asincrona di Amazon OpenSearch Service puoi inviare una query di ricerca che viene eseguita in background, monitorare l'avanzamento della richiesta e recuperare i risultati in una fase successiva. È possibile recuperare i risultati parziali man mano che diventano disponibili prima del completamento della ricerca. Al termine della ricerca, salvare i risultati per il recupero e l'analisi successivi.

La ricerca asincrona richiede OpenSearch 1.0 o versione successiva oppure Elasticsearch 7.10 o versione successiva. La documentazione completa per la ricerca asincrona, inclusi i passaggi dettagliati e le descrizioni delle API, è disponibile nella documentazione. OpenSearch

Chiamata di ricerca di esempio

Per eseguire una ricerca asincrona, inviare le richieste HTTP a _plugins/_asynchronous_search utilizzando il seguente formato:

POST opensearch-domain/_plugins/_asynchronous_search
Nota

Se utilizzi Elasticsearch 7.10 invece di una OpenSearch versione, sostituiscilo _plugins con _opendistro in tutte le richieste di ricerca asincrone.

È possibile specificare le seguenti opzioni di ricerca asincrona:

Opzioni Descrizione Valore predefinito Obbligatorio
wait_for_completion_timeout

Specifica il tempo che si prevede di attendere per i risultati. È possibile visualizzare tutti i risultati ottenuti in questo tempo, proprio come in una normale ricerca. È possibile eseguire il polling dei risultati rimanenti in base a un ID. Il valore massimo è 300 secondi.

1 secondo No
keep_on_completion

Specifica se si desidera salvare i risultati nel cluster al termine della ricerca. È possibile esaminare i risultati memorizzati in un secondo momento.

false No
keep_alive

Specifica il tempo in cui il risultato viene salvato nel cluster. Ad esempio, 2d significa che i risultati vengono memorizzati nel cluster per 48 ore. I risultati della ricerca salvati vengono eliminati dopo questo periodo o se la ricerca viene annullata. Si noti che questo tempo include il runtime della query. Se la query impiega più di questo periodo di tempo, il processo la annulla automaticamente.

12 ore No

Richiesta di esempio

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

Sono supportati tutti i parametri della richiesta che si applicano a una query _search standard. Se utilizzi Elasticsearch 7.10 anziché una versione, sostituiscilo con. OpenSearch _plugins _opendistro

Autorizzazioni di ricerca asincrona

La ricerca asincrona supporta il controllo granulare degli accessi. Per informazioni dettagliate sull'uso delle autorizzazioni per adattarle al proprio caso d'uso, consultare Sicurezza asincrona della ricerca.

Per i domini con il controllo granulare degli accessi abilitato, sono necessarie le seguenti autorizzazioni minime per un ruolo:

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

Per i domini con il controllo granulare degli accessi disabilitato, utilizzare l'accesso IAM e la chiave segreta per firmare tutte le richieste. È possibile accedere ai risultati con l'ID di ricerca asincrona.

Impostazioni della ricerca asincrona

OpenSearch consente di modificare tutte le impostazioni di ricerca asincrona disponibili utilizzando l'API. _cluster/settings In OpenSearch Service, puoi modificare solo le seguenti impostazioni:

  • plugins.asynchronous_search.node_concurrent_running_searches

  • plugins.asynchronous_search.persist_search_failures

Funzionalità di ricerca tra cluster

È possibile eseguire una ricerca asincrona tra cluster con le seguenti limitazioni minori:

  • È possibile eseguire una ricerca asincrona solo nel dominio di origine.

  • Non è possibile ridurre a icona i round trip di rete come parte di una query di ricerca tra cluster.

Se si imposta una connessione tra domain-a -> domain-b con l'alias di connessione cluster_b e domain-a -> domain-c con l'alias di connessione cluster_c, ricercare in maniera asincrona domain-a, domain-b e domain-c come segue:

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": [] } } }

Risposta

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

Per ulteriori informazioni, consulta Ricerca tra cluster in Amazon Service OpenSearch .

UltraWarm

Le ricerche asincrone con UltraWarm indici continuano a funzionare. Per ulteriori informazioni, consulta UltraWarm spazio di archiviazione per Amazon OpenSearch Service.

Nota

È possibile monitorare le statistiche di ricerca asincrone in. CloudWatch Per un elenco completo di parametri, consulta Parametri di ricerca asincrona.