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 per 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.
Questa documentazione fornisce una breve panoramica della ricerca asincrona. Descrive inoltre i limiti dell'uso della ricerca asincrona con un dominio Amazon OpenSearch Service gestito anziché con un cluster open source. OpenSearch Per la documentazione completa sulla ricerca asincrona, comprese le impostazioni disponibili, le autorizzazioni e un riferimento completo all'API, consulta Ricerca asincrona nella documentazione.
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 versione, sostituiscilo con in tutte le richieste di ricerca asincrone OpenSearch . _plugins
_opendistro
È possibile specificare le seguenti opzioni di ricerca asincrona:
Opzioni | Descrizione | Valore predefinito | Richiesto |
---|---|---|---|
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, |
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_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.