

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
<a name="asynchronous-search"></a>

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.](https://docs.opensearch.org/latest/search-plugins/async/index/) OpenSearch 

## Chiamata di ricerca di esempio
<a name="asynchronous-search-sample"></a>

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 | Description | Valore predefinito | Richiesto | 
| --- | --- | --- | --- | 
| wait\$1for\$1completion\$1timeout |  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\$1on\$1completion |  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\$1alive |  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
<a name="asynchronous-search-permissions"></a>

La ricerca asincrona supporta il [controllo granulare degli accessi](fgac.md). Per informazioni dettagliate sull'uso delle autorizzazioni per adattarle al proprio caso d'uso, consultare [Sicurezza asincrona della ricerca](https://docs.opensearch.org/latest/search-plugins/async/security/).

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
<a name="asynchronous-search-diff"></a>

OpenSearch consente di modificare tutte le impostazioni di ricerca [asincrona](https://docs.opensearch.org/latest/search-plugins/async/settings/) 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
<a name="asynchronous-search-ccs"></a>

È 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](cross-cluster-search.md).

## UltraWarm
<a name="asynchronous-search-ultrawarm"></a>

Le ricerche asincrone con UltraWarm indici continuano a funzionare. Per ulteriori informazioni, consulta [UltraWarm spazio di archiviazione per Amazon OpenSearch Service](ultrawarm.md).

**Nota**  
È possibile monitorare le statistiche di ricerca asincrone in. CloudWatch Per un elenco completo di parametri, consulta [Parametri di ricerca asincrona](managedomains-cloudwatchmetrics.md#managedomains-cloudwatchmetrics-asynchronous-search).