

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

# Ottenere suggerimenti per il completamento automatico in Amazon CloudSearch
<a name="getting-suggestions"></a>

Questa sezione descrive come configurare i suggeritori in modo da recuperare i suggerimenti. I suggerimenti sono possibili risposte a una query di ricerca incompleta: ti consentono di visualizzare le corrispondenze probabili prima che gli utenti finiscano di digitare le query. In Amazon CloudSearch, i suggerimenti si basano sul contenuto di un particolare campo di testo. Quando richiedi suggerimenti, Amazon CloudSearch trova tutti i documenti i cui valori nel campo suggester iniziano con la stringa di query specificata: l'inizio del campo deve corrispondere alla stringa di query per essere considerata una corrispondenza. I dati restituiti includono il valore del campo e l'ID del documento per ogni corrispondenza. Puoi configurare i suggeritori in modo da rilevare le corrispondenze esatte della stringa di query oppure le corrispondenze approssimative della stringa (corrispondenza parziale) per correggere gli errori tipografici e ortografici. 

Per ulteriori informazioni sull'API di suggerimento, consultare [Suggerimento](search-api.md#suggest) nell'[Informazioni di riferimento sull'API di ricerca](search-api.md).

**Topics**
+ [Configurazione dei suggestori per Amazon CloudSearch](#configuring-suggesters)
+ [Recupero dei suggerimenti in Amazon CloudSearch](#retrieving-suggestions)

## Configurazione dei suggestori per Amazon CloudSearch
<a name="configuring-suggesters"></a>

Quando si configura un suggeritore, è necessario specificare il nome del campo di testo per cercare possibili corrispondenze e un nome univoco per il suggeritore. I campi utilizzati per i suggerimenti devono essere inclusi nei risultati. Solo i primi 512 byte di dati nel campo di testo vengono utilizzati per generare suggerimenti. 

I nomi dei suggeritori devono iniziare con una lettera e avere una lunghezza compresa tra 3 e 64 caratteri. I caratteri consentiti sono: a-z (minuscole), 0-9 e \$1 (carattere di sottolineatura). Il nome del suggeritore viene specificato nella stringa di query quando recuperi i suggerimenti, perciò è preferibile usare nomi brevi. Il nome *score* è riservato e non può essere utilizzato come nome di suggeritore. 

I suggeritori supportano due opzioni:
+ `FuzzyMatching`—Puoi impostare il livello di sfocatura consentito quando suggerisci corrispondenze per una stringa su zero, basso o alto. "none" indica che la stringa specificata viene considerata come un prefisso esatto. "low" indica che i suggerimenti devono essere diversi dalla stringa specificata di non oltre un carattere. "high" indica che i suggerimenti possono essere diversi di un massimo di due caratteri. Il valore predefinito è none. 
+ `SortExpression`—È possibile configurare questa espressione per calcolare un punteggio per ogni suggerimento per controllare come vengono ordinati. I punteggi vengono arrotondati all'intero più vicino, con un limite minimo di 0 e uno massimo di 2^31-1. Il punteggio di rilevanza di un documento non viene calcolato per i suggerimenti, pertanto le espressioni di ordinamento non possono fare riferimento al valore `_score`. Per ordinare i suggerimenti utilizzando un campo numerico o un'espressione esistente, è sufficiente che specifichi il nome del campo o dell'espressione. Se per il suggeritore nessuna espressione è configurata, i suggerimenti vengono elencati in ordine alfabetico. Tieni presente che, nelle richieste di ricerca o in altre espressioni, non è possibile fare riferimento a un'espressione definita in un suggeritore. Se desideri utilizzare un'espressione per altri scopi, aggiungila alla configurazione del tuo dominio e fai riferimento a essa con il suo nome a partire dal suggeritore. Per ulteriori informazioni sulle espressioni, consulta [Configurazione di espressioni](configuring-expressions.md).

Se desideri ottenere suggerimenti da più campi di testo, devi definire un suggeritore per ogni campo e inviare richieste di suggerimento separate per recuperare le corrispondenze da ogni suggeritore. Puoi configurare un massimo di dieci suggeritori. I suggeritori consumano una notevole quantità di memoria e spazio su disco, in particolare se usi campi di origine con molto testo e imposti sul livello alto la corrispondenza parziale (fuzzy).

**Suggerimento**  
Invece di configurare i suggeritori per l'uso di *tutte* le possibilità da *tutti* i documenti, prova a indicizzare le 1.000 o 10.000 query più popolari e configurare i suggeritori per utilizzarle. Puoi memorizzare le query in un CloudSearch indice Amazon separato o in un campo utilizzato solo per i suggerimenti.

Il modo più semplice per definire i suggeritori è tramite la [pagina **Suggesters**](#configuring-suggesters-console) nella console Amazon CloudSearch . Puoi anche definire i suggeritori utilizzando AWS SDKs o AWS CLI.

**Importante**  
Dopo aver aggiunto un suggeritore al tuo dominio di ricerca, devi eseguire l'indicizzazione prima di utilizzarlo per recuperare i suggerimenti. Mano a mano che aggiungi ed elimini documenti, devi ricreare periodicamente l'indice per aggiornare i suggerimenti. I suggerimenti non rifletteranno i documenti aggiunti o eliminati finché non chiami `IndexDocuments`. 

### Configurazione dei suggestori tramite la console Amazon CloudSearch
<a name="configuring-suggesters-console"></a>

Puoi aggiungere, aggiornare ed eliminare facilmente i suggerimenti tramite la CloudSearch console Amazon. 

**Per aggiungere un suggeritore**

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

1. Nel riquadro di navigazione a sinistra, scegli **Domains** (Domini). 

1. Scegli il nome del dominio per aprirne la configurazione.

1. Vai alla scheda **Opzioni di ricerca avanzate**.

1. Nel riquadro **Suggesters**, scegli **Aggiungi suggeritori**.

1. Inserisci un nome per il nuovo suggeritore.

1. Per il **campo Sorgente**, specifica il campo di testo da utilizzare per i suggerimenti.

1. ****Per includere suggerimenti che correggano errori ortografici o di battitura minori, imposta **Fuzzy** matching su Basso o Alto.**** Impostando l'opzione su bassa, i suggerimenti includono i termini diversi di un solo carattere dalla stringa di query dell'utente. Impostandola su alta, i suggerimenti includono i termini diversi fino a due caratteri. 

1. **Per controllare l'ordinamento dei suggerimenti, inserisci un'espressione numerica nel campo Ordina espressione.** L'espressione può essere semplicemente il nome del campo numerico che desideri utilizzare per ordinare i suggerimenti, il nome di un'espressione esistente o qualsiasi espressione valida. Per ulteriori informazioni sulle espressioni, consulta [Configurazione di espressioni](configuring-expressions.md). 

1. Fai clic su **Salva modifiche**.

1. Quando hai finito di configurare i suggerimenti per il tuo dominio di ricerca, devi reindicizzare il dominio prima di poterli utilizzare. ****Per eseguire l'indicizzazione, vai alla dashboard del dominio e scegli Azioni, Esegui indicizzazione.****

### Configurazione dei Suggesters con AWS CLI
<a name="configuring-suggesters-clt"></a>

Puoi aggiungere o aggiornare i suggeritori con il comando `aws cloudsearch define-suggester`. Per rimuovere un suggeritore, utilizza `aws cloudsearch delete-suggester`.

**Per aggiungere o aggiornare un suggeritore**
+ Esegui il comando `aws cloudsearch define-suggester`. Puoi specificare la configurazione del suggeritore in formato JSON con l'opzione `--suggester`. La configurazione del suggeritore deve essere racchiusa tra virgolette e per tutte le virgolette all'interno della configurazione deve essere utilizzato il carattere di escape barra rovesciata. Per il formato della configurazione del suggeritore, vedere [define-suggester](https://docs.aws.amazon.com/cli/latest/reference/cloudsearch/define-suggester.html) nella Guida ai comandi. AWS CLI Ad esempio, il comando seguente configura un suggeritore denominato `mysuggester` per la restituzione di suggerimenti basati sul campo `title` .

  ```
  aws cloudsearch define-suggester --domain-name movies --suggester "{\"SuggesterName\": \"mysuggester\", \"DocumentSuggesterOptions\": {\"SourceField\":\"title\"}}" 
  {
    "Suggester": {
      "Status": {
        "PendingDeletion": false,
        "State": "RequiresIndexDocuments",
        "CreationDate": "2014-06-26T17:26:43Z",
        "UpdateVersion": 27,
        "UpdateDate": "2014-06-26T17:26:43Z"
      },
      "Options": {
        "DocumentSuggesterOptions": {
          "SourceField": "title"
        },
        "SuggesterName": "mysuggester"
      }
    }
  }
  ```

  Puoi utilizzare l'opzione `--fuzzy-matching` per includere suggerimenti che correggano lievi errori ortografici o di battitura. I valori validi per la corrispondenza parziale sono `none`, `low` e `high`. (Il valore di default è `none`.) Impostando l'opzione su `low`, i suggerimenti includeranno i termini diversi di un solo carattere dalla stringa di query dell'utente. Impostandola su `high`, i suggerimenti includeranno i termini diversi fino a due caratteri. Ad esempio, il seguente comando configura `mysuggester` per includere suggerimenti che differiscono dalla stringa di query degli utenti di un solo carattere: 

  ```
  aws cloudsearch  --name mysuggester --source title 
    --fuzzy-matching low
  ```

  Puoi utilizzare l'opzione `--sort-expression` per controllare il modo in cui vengono ordinati i suggerimenti restituiti. Per l'ordinamento, puoi utilizzare qualsiasi espressione valida (spesso si tratterà semplicemente del nome di un campo numerico o di un'espressione predefinita). Ad esempio, per ordinare i suggerimenti restituiti da `mysuggester` in base al valore nel campo `year`, specifica:

  ```
  aws cloudsearch define-suggester --name mysuggester --source title 
    --fuzzy-matching low --sort-expression year
  ```

**Per eliminare un suggeritore.**
+ Esegui il comando `aws cloudsearch delete-suggester` e specifica l'opzione `--name`. Ad esempio, per eliminare `mysuggester`:

  ```
  aws cloudsearch delete-suggester --name mysuggester --delete
  ```

### Configurazione dei suggestori tramite AWS SDKs
<a name="configuring-suggesters-sdk"></a>

AWS SDKs (eccetto Android e iOS SDKs) supporta tutte le CloudSearch azioni Amazon definite nell'API di CloudSearch configurazione di Amazon, tra cui`DefineSuggester`. Per ulteriori informazioni sull'installazione e l'utilizzo di AWS SDKs, consulta [AWS Software Development Kits](https://aws.amazon.com/code).

## Recupero dei suggerimenti in Amazon CloudSearch
<a name="retrieving-suggestions"></a>

Puoi recuperare i suggerimenti inviando le richieste alla risorsa `suggest` sull'endpoint di ricerca di un dominio tramite HTTP GET. Per esempio:

```
http://search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.
amazonaws.com/2013-01-01/suggest?q=oce&suggester=mysuggester
```

Nella richiesta, devi specificare la versione API e la stringa di query deve essere codificata in formato URL. Le dimensioni massime di una richiesta di suggerimento è 8190 byte, inclusi metodo HTTP, URI e versione del protocollo.

 La risorsa `suggest` supporta quattro parametri:
+ `q`: stringa per la quale vuoi ottenere i suggerimenti. 
+ `suggester`: nome del suggeritore che vuoi utilizzare.
+ `size`—Il numero di suggerimenti da recuperare. Per impostazione predefinita, vengono restituiti i primi dieci suggerimenti. (I suggerimenti vengono ordinati in base all'espressione di ordinamento definita nel suggeritore. Se non è definita alcuna espressione di ordinamento nel suggeritore, i suggerimenti vengono ordinati in ordine alfabetico.)
+ `format`—Il tipo di contenuto della risposta, o. `json` `xml` Per impostazione predefinita, i suggerimenti vengono restituiti in formato JSON.

I parametri `q` e `suggester` devono essere specificati. Non vengono restituiti suggerimenti se richiedi suggerimenti per una stringa vuota. I parametri `size` e `format` sono facoltativi. 

L'esempio seguente ottiene i suggerimenti per la stringa `oce` in base ai contenuti del campo `title`.

```
http://search-imdb2-m2brrr7ex7z6sqhgwsjdmcuvd4.us-east-1.cloudsearch.amazonaws.com/2013-01-01/suggest?q=oce&suggester=title
{
  "status": {
    "rid": "646f5s0oDAr8pVk=",
    "time-ms": 2
  },
  "suggest": {
    "query": "oce",
    "found": 3,
    "suggestions": [{
        "suggestion": "Ocean's Eleven",
        "score": 0,
        "id": "tt0054135"
      },
      {
        "suggestion": "Ocean's Thirteen",
        "score": 0,
        "id": "tt0496806"
      },
      {
        "suggestion": "Ocean's Twelve",
        "score": 0,
        "id": "tt0349903"
      }
    ]
  }
}
```