

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à.

# Invio di richieste di ricerca a un dominio Amazon CloudSearch
<a name="submitting-search-requests"></a>

Ti consigliamo di utilizzare uno degli AWS SDKs o il AWS CLI per inviare richieste di ricerca. La SDKs e AWS CLI gestisce la firma delle richieste per te e fornisce un modo semplice per eseguire tutte le CloudSearch azioni di Amazon. Puoi anche utilizzare Search Tester nella CloudSearch console Amazon per cercare i tuoi dati, sfogliare i risultati e visualizzare la richiesta generata e le risposte JSON URLs e XML. Per ulteriori informazioni, consulta [Ricerca con il test di ricerca](getting-started-search.md#searching-console).

**Importante**  
Gli endpoint di ricerca non cambiano: il documento e gli endpoint di ricerca di un dominio rimangono gli stessi per tutta la durata del dominio. Dovresti memorizzare gli endpoint nella cache invece di recuperarli prima di ciascuna richiesta di ricerca o caricamento. È probabile che interrogare il servizio di CloudSearch configurazione Amazon chiamando `aws cloudsearch describe-domains` o `DescribeDomains` prima di ogni richiesta comporti una limitazione delle richieste.
Gli indirizzi IP **cambiano**: l'indirizzo IP del tuo dominio *può* cambiare nel tempo, quindi è importante memorizzare nella cache l'endpoint come mostrato nella console e restituito dal `aws cloudsearch describe-domains` comando anziché dall'indirizzo IP. Inoltre, dovresti risolvere nuovamente il DNS dell'endpoint in un indirizzo IP con regolarità. Per ulteriori informazioni, vedere [Impostazione del TTL JVM per le ricerche dei](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/java-dg-jvm-ttl.html) nomi DNS.

Ad esempio, la richiesta seguente invia una semplice ricerca testuale per `wolverine` utilizzare AWS CLI e restituisce solo i documenti corrispondenti. IDs 

```
aws cloudsearchdomain --endpoint-url http://search-movies-y6gelr4lv3jeu4rvoelunxsl2e.us-east-1.cloudsearch.amazonaws.com search --search-query wolverine  --return _no_fields
{
    "status": {
        "rid": "/rnE+e4oCAqfEEs=", 
        "time-ms": 6
    }, 
    "hits": {
        "found": 3, 
        "hit": [
            {
                "id": "tt1430132"
            }, 
            {
                "id": "tt0458525"
            }, 
            {
                "id": "tt1877832"
            }
        ], 
        "start": 0
    }
}
```

Per impostazione predefinita, Amazon CloudSearch restituisce la risposta in JSON. Puoi ottenere i risultati formattati in XML specificando il parametro. `format` L'impostazione del formato della risposta interessa solo le risposte alle richieste riuscite. Il formato di una risposta di errore dipende dall'origine dell'errore. Gli errori restituiti dal servizio di ricerca vengono sempre restituiti in JSON. Gli errori 5xx dovuti a timeout del server e ad altri problemi di routing delle richieste vengono restituiti in formato XML.

**Nota**  
AWS SDKs restituisce i campi come array. I campi a valore singolo vengono restituiti come array con un elemento, ad esempio:  

```
"fields": {
  "plot": ["Katniss Everdeen reluctantly becomes the symbol of a mass rebellion against the autocratic Capitol."]
}
```

Per scopi di sviluppo e test, puoi consentire l'accesso anonimo al servizio di ricerca del tuo dominio e inviare richieste HTTP GET o POST non firmate direttamente all'endpoint di ricerca del tuo dominio. In un ambiente di produzione, limita l'accesso al tuo dominio a ruoli, gruppi o utenti IAM specifici e invia richieste firmate utilizzando AWS SDKs o AWS CLI. Per informazioni sul controllo degli accessi per Amazon CloudSearch, consulta[Configurazione di Access per Amazon CloudSearch](configuring-access.md). Per ulteriori informazioni sulla firma delle richieste, consulta [Signing AWS API Requests](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html). 

Puoi utilizzare qualsiasi metodo desideri per inviare richieste HTTP direttamente all'endpoint di ricerca del tuo dominio: puoi inserire l'URL della richiesta direttamente in un browser Web, utilizzare cURL per inviare la richiesta o generare una chiamata HTTP utilizzando la tua libreria HTTP preferita. Per specificare i criteri di ricerca, specificate una stringa di query che specifica i vincoli per la ricerca e il risultato che desiderate ottenere nella risposta. La stringa di query deve essere codificata come URL. La dimensione massima di una richiesta di ricerca inviata tramite GET è di 8190 byte, inclusi il metodo HTTP, l'URI e la versione del protocollo. Puoi inviare richieste più grandi utilizzando HTTP POST; tuttavia, tieni presente che le richieste grandi e complesse richiedono più tempo per essere elaborate e hanno maggiori probabilità di scadere. Per ulteriori informazioni, consulta [Ottimizzazione delle prestazioni delle richieste di ricerca in Amazon CloudSearch](tuning-search.md).

Ad esempio, la richiesta seguente invia una query strutturata al `search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.amazonaws.com` dominio e ottiene il contenuto del `title` campo.

```
http://search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.
amazonaws.com/2013-01-01/search?q=(and+(term+field%3Dtitle+'star')
(term+field%3Dyear+1977))&q.parser=structured&return=title
```

**Importante**  
I caratteri speciali nella stringa di query devono essere codificati come URL. Ad esempio, è necessario codificare l'`=`operatore in una query strutturata come:. `%3D` `(term+field%3Dtitle+'star')` Se non codifichi i caratteri speciali quando invii la richiesta di ricerca, riceverai un `InvalidQueryString` errore.

# Ricerca con il test di ricerca
<a name="search-tester"></a>

Il tester di ricerca nella CloudSearch console Amazon ti consente di inviare richieste di ricerca di esempio utilizzando uno qualsiasi dei parser di query supportati: simple, structured, lucene o dismax. Per impostazione predefinita, le richieste vengono elaborate con il semplice parser di query. È possibile specificare le opzioni per il parser selezionato, filtrare e ordinare i risultati e sfogliare i facet configurati. I risultati della ricerca vengono evidenziati automaticamente nei risultati della ricerca. Per informazioni su come eseguire questa operazione, vedere[Evidenziazione dei risultati di ricerca su Amazon CloudSearch](highlighting.md). Puoi anche selezionare un suggeritore per ricevere suggerimenti man mano che inserisci i termini nel campo **di ricerca**. (È necessario configurare un suggeritore prima di poter ricevere suggerimenti. Per ulteriori informazioni, vedere[Ottenere suggerimenti per il completamento automatico in Amazon CloudSearch](getting-suggestions.md).)

*Per impostazione predefinita, i risultati vengono ordinati in base a un punteggio di pertinenza generato automaticamente, \$1score.* Per informazioni sulla personalizzazione della classificazione dei risultati, consulta. [Ordinamento dei risultati in Amazon CloudSearch](sorting-results.md)



**Per cercare nel tuo dominio**

1. Vai alla CloudSearch console Amazon a [https://console.aws.amazon.com/cloudsearch/casa](https://console.aws.amazon.com/cloudsearch/home).

1. Nel pannello di navigazione a sinistra, scegli il nome del tuo dominio per aprirne la configurazione.

1. Scegli **Esegui una ricerca di prova**.

1. Per eseguire una semplice ricerca testuale, inserisci una query di ricerca e scegli **Esegui**. Per impostazione predefinita, la ricerca viene effettuata in tutti `text` `text-array` i campi. 

Per cercare campi particolari, espandi **Opzioni** e inserisci un elenco separato da virgole dei campi da cercare nel campo Campi di **ricerca**. Puoi aggiungere un peso a ciascun campo con un cursore (^) per controllare l'importanza relativa di ogni campo nei risultati della ricerca. Ad esempio, quando si calcolano i punteggi di pertinenza per ogni documento corrispondente, è possibile specificare i `title^5, description` pesi ottenuti nel `title` `description` campo cinque volte in più rispetto ai risultati ottenuti nel campo.

**Per utilizzare la sintassi delle query strutturate, selezionate **Structured** dal menu Query parser.** **Dopo aver selezionato il parser di query strutturato, inserisci la query strutturata nel campo **Cerca** e scegli Esegui.** Ad esempio, per trovare tutti i film con *protagonista* nel titolo usciti nel 2000 o prima, puoi inserire:`(and title:'star' year:{,2000])`. Per ulteriori informazioni, consulta [Creazione di query composte](searching-compound-queries.md). Per inviare Lucene o DisMax delle domande, seleziona il parser di interrogazione appropriato.

È possibile specificare opzioni aggiuntive per il parser di query selezionato per configurare l'operatore predefinito e controllare quali operatori possono essere utilizzati in una query. Per ulteriori informazioni, consulta [Parametri delle richieste di ricerca](search-api.md#search-request-parameters).

È possibile copiare e incollare l'URL della richiesta per inviare la richiesta e visualizzare la risposta da un browser Web. Le richieste possono essere inviate tramite HTTP o HTTPS.