

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

# Configurazione delle espressioni in Amazon CloudSearch
<a name="configuring-expressions"></a>

È possibile definire espressioni numeriche e utilizzarle per ordinare i risultati di ricerca. Le espressioni possono inoltre essere restituite nei risultati di ricerca. È possibile aggiungere espressioni nella configurazione di dominio o definire espressioni all'interno delle richieste di ricerca. 

**Topics**
+ [Scrittura di espressioni per Amazon CloudSearch](#writing-expressions)
+ [query time expressions](defining-expressions-in-requests.md)
+ [Configurazione di espressioni riutilizzabili per un dominio di ricerca in Amazon CloudSearch](configuring-reusable-expressions.md)
+ [Confronto delle espressioni in Amazon CloudSearch](comparing-expressions.md)

## Scrittura di espressioni per Amazon CloudSearch
<a name="writing-expressions"></a>

 CloudSearch Le espressioni Amazon possono contenere:
+ Campi numerici a valore singolo abilitati per l'ordinamento (`int`, `double`, `date`). È necessario specificare un campo specifico, i caratteri jolly non sono supportati.
+ Altre espressioni
+ La variabile `_score`, che fa riferimento al punteggio di rilevanza di un documento
+ La variabile `_time`, che fa riferimento all'epoca corrente
+ La variabile `_rand`, che restituisce un valore generato in modo casuale
+ Valori letterali ottali, intero, in virgola mobile e esadecimali
+ Operatori aritmetici: `+ - * / %`
+ Operatori bit per bit:` | & ^ ~ << >> >>>`
+ Operatori booleani (tra cui l'operatore ternario):` && || ! ?: `
+ Operatori di confronto:` < <= == >= > `
+ Funzioni matematiche: `abs ceil exp floor ln log10 logn max min pow sqrt `
+ Funzioni trigonometriche: `acos acosh asin asinh atan atan2 atanh cos cosh sin sinh tanh tan`
+ La funzione di distanza `haversin`

[ JavaScript Le regole relative all'ordine di precedenza](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table) si applicano agli operatori. È possibile ignorare la precedenza degli operatori utilizzando le parentesi.

La valutazione rapida viene utilizzata per valutare le espressioni logiche: se il valore dell'espressione può essere determinato dopo aver valutato il primo argomento, il secondo argomento non viene valutato. Ad esempio, nell'espressione `a || b`, `b` viene valutato solo se `a` non è true.

Le espressioni restituiscono sempre un valore intero compreso tra 0 e il valore intero con firma da 64 bit più elevato (2 ^ 63 - 1). I risultati intermedi vengono calcolati come valori a virgola mobile a doppia precisione e il valore restituito viene arrotondato al numero intero più prossimo. Se l'espressione non è valida o restituisce un valore negativo, restituisce 0. Se l'espressione restituisce un valore superiore del numero più elevato, restituisce il valore massimo. 

I nomi delle espressioni 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 *score* è riservato e non può essere utilizzato come nome di espressione.

Se ad esempio definisci un campo `int` denominato *popularity* per il tuo dominio, potresti utilizzare tale campo in combinazione con la rilevanza predefinita `_score` per creare un'espressione personalizzata. 

```
(0.3*popularity)+(0.7*_score)
```

Questo semplice esempio presuppone che la classificazione della popolarità e i valori \$1score di rilevanza si trovino quasi nello stesso intervallo. Per ottimizzare le espressioni per la classificazione dei risultati, è necessario eseguire alcune operazioni di testing per stabilire che rilevanza assegnare ai componenti delle espressioni per ottenere i risultati desiderati. 

### Utilizzo dei campi data in Amazon CloudSearch Expressions
<a name="using-dates-in-expressions"></a>

Il valore di un campo `date` viene memorizzato come epoca con risoluzione in millisecondi. In questo modo è possibile utilizzare operatori di confronto e matematici per costruire le espressioni utilizzando le date archiviate nei documenti e l'epoca corrente (`_time`). Ad esempio, utilizzando la seguente espressione per ordinare i risultati della ricerca dal dominio movies, i film con data di rilascio recenti vengono spostati verso l'alto nell'elenco. 

```
_score/(_time - release_date)
```

# Definizione di Amazon CloudSearch Expressions nelle richieste di ricerca
<a name="defining-expressions-in-requests"></a>

È possibile definire e utilizzare espressioni direttamente all'interno di una richiesta di ricerca, in modo che sia possibile iterare in modo rapido e nel contempo perfezionare le espressioni utilizzate per ordinare i risultati. Definendo un'espressione all'interno di una richiesta di ricerca, è inoltre possibile integrare le informazioni contestuali nell'espressione, ad esempio la posizione geografica dell'utente. È possibile ignorare un'espressione definita nella configurazione di dominio definendo un'espressione con lo stesso nome all'interno di una richiesta di ricerca.

Quando si definisce un'espressione all'interno di una richiesta di ricerca, questa non viene memorizzata come parte della configurazione del dominio. Se si desidera utilizzare l'espressione in altre richieste, è necessario definirla in ciascuna richiesta o aggiungerla alla configurazione del dominio. Definire un'espressione in ogni richiesta anziché aggiungerla alla configurazione del dominio aumenta l'overhead di richieste, che può portare come conseguenze un rallentamento dei tempi di risposta e l'incremento dei costi di esecuzione del dominio. Per ulteriori informazioni sull'aggiunta di espressioni alla configurazione di dominio, vedi [Configurazione di espressioni](configuring-expressions.md). 

È possibile definire e utilizzare più espressioni in una richiesta di ricerca. La definizione di un'espressione può fare riferimento ad altre espressioni definite all'interno della richiesta, nonché a espressioni configurate come parte della configurazione del dominio. 

Non vi sono limitazioni alle modalità di utilizzo delle espressioni che si definiscono in una richiesta di ricerca. È possibile utilizzare l'espressione per ordinare i risultati di ricerca, definire altre espressioni o restituire informazioni calcolate nei risultati di ricerca. 

**Per definire un'espressione in una richiesta di ricerca**

1. Utilizzare il parametro `expr.NAME`, dove NAME è il nome dell'espressione da definire. Esempio: 

   ```
   expr.rank1=log10(clicks)*_score
   ```

1. Per utilizzare l'espressione per ordinare i risultati, specificare il nome dell'espressione con il parametro `sort`:

   ```
   search?q=terminator&expr.rank1=log10(clicks)*_score&sort=rank1 desc
   ```

1. Per includere il valore calcolato nei risultati di ricerca, aggiungere l'espressione all'elenco di campi `return`: 

   ```
   search?q=terminator&expr.rank1=log10(clicks)*_score&sort=rank1 desc&return=rank1
   ```

 Ad esempio, la seguente richiesta crea due espressioni che vengono utilizzate per ordinare i risultati e ne restituisce uno nei risultati di ricerca:

```
search?q=terminator&expr.rank1=sin( _score)&expression.rank2=cos( _score)&sort=rank1 desc,rank2 desc&return=title,_score,rank2
```

# Configurazione di espressioni riutilizzabili per un dominio di ricerca in Amazon CloudSearch
<a name="configuring-reusable-expressions"></a>

Quando si definisce un'espressione in una configurazione di dominio, è possibile farvi riferimento in qualsiasi richiesta di ricerca. Aggiungendo un'espressione alla configurazione del dominio, non è più necessario specificarla in ogni richiesta e ciò riduce l'overhad e consente di ottimizzare i tempi di risposta e di ridurre al minimo i costi. 

Quando si aggiunge un'espressione alla configurazione del dominio, sarà necessario attendere che la modifica venga elaborata e che la nuova espressione diventi attiva. Per testare rapidamente le modifiche apportate a un'espressione, è possibile definire e utilizzare l'espressione direttamente in una richiesta di ricerca, come descritto in [Definizione delle espressioni nelle richieste di ricerca](defining-expressions-in-requests.md). Dopo aver completato il testing e il perfezionamento di un'espressione, è necessario aggiungerla alla configurazione del proprio dominio. 

**Topics**
+ [Amazon CloudSearch console](#configuring-expressions-console)
+ [aws cloudsearch define-expression](#configuring-expressions-clt)
+ [DefineRankExpression](#configuring-expressions-sdk)

## Configurazione delle espressioni utilizzando la console Amazon CloudSearch
<a name="configuring-expressions-console"></a>

**Per configurare un'espressione**

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

1. Dal riquadro di navigazione a sinistra, scegli **Domini**.

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

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

1. Nel riquadro **Espressioni**, scegli **Aggiungi espressione**.

1. Immettete un nome per la nuova espressione.

1. Per **Valore**, immettete l'espressione numerica che desiderate valutare al momento della ricerca. È possibile selezionare **Inserisci** per aggiungere valori speciali e funzioni matematiche e trigonometriche.

1. Scegli **Save** (Salva).

## Configurazione di Amazon CloudSearch Expressions utilizzando AWS CLI
<a name="configuring-expressions-clt"></a>

È possibile utilizzare il comando `aws cloudsearch define-expression` per definire le espressioni calcolate per un dominio.

**Per configurare un'espressione**
+ Eseguire il comando `aws cloudsearch define-expression` per definire una nuova espressione. È possibile specificare un nome per l'espressione con l'opzione `--name` e l'espressione numerica che si desidera valutare con l'opzione `--expression`. Ad esempio, la seguente richiesta crea un'espressione chiamata `popularhits` che tiene conto della `popularity` e del valore `_score` di rilevanza di un documento.

  ```
  aws cloudsearch define-expression --domain-name movies --name popularhits --expression '((0.3*popularity)/10.0)+(0.7* _score)'
  
  {
      "Expression": {
          "Status": {
              "PendingDeletion": false, 
              "State": "Processing", 
              "CreationDate": "2014-05-01T01:15:18Z", 
              "UpdateVersion": 52, 
              "UpdateDate": "2014-05-01T01:15:18Z"
          }, 
          "Options": {
              "ExpressionName": "popularhits", 
              "ExpressionValue": "((0.3*popularity)/10.0)+(0.7* _score)"
          }
      }
  }
  ```

## Configurazione delle espressioni utilizzando l'API di CloudSearch configurazione Amazon
<a name="configuring-expressions-sdk"></a>

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

# Confronto delle espressioni in Amazon CloudSearch
<a name="comparing-expressions"></a>

 Puoi utilizzare la CloudSearch console Amazon per confrontare le espressioni e vedere come le modifiche all'espressione e al peso dei campi influiscono sul modo in cui Amazon CloudSearch ordina i risultati di ricerca.

**Per confrontare le espressioni**

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. Scegli **Azioni**, **Confronta espressioni**.

1. Nella casella **Cerca**, inserisci i termini che desideri cercare. Amazon CloudSearch classifica i risultati della ricerca utilizzando le espressioni e i pesi specificati. Aggiorna i risultati ogni volta che apporti modifiche alle espressioni o ai pesi.

1. In ogni editor di espressioni, specifica la classificazione delle espressioni da confrontare. È possibile aggiungere nuove espressioni o selezionare un'espressione esistente dal menu **Espressioni salvate**. Amazon CloudSearch valuta nuove espressioni quando invii una richiesta di ricerca.

1. Specificate i pesi dei campi da utilizzare per ogni espressione. È possibile modificare le rilevanze di campo anche direttamente nell'espressione. Le rilevanze di campo devono essere comprese nell'intervallo 0-10, inclusi. Come impostazione predefinita, il peso di tutti i campi è impostato su 1.0. Puoi impostare pesi di campo individuali per controllare quante corrispondenze in campi di testo o letterali specifici influiscono sull'ordine di rilevanza di un documento. È anche possibile modificare la rilevanza predefinita.
**Nota**  
L'adeguamento delle rilevanze di campo ha effetti solo sulla classificazione dei risultati, se l'espressione fa riferimento al valore `_score`. È possibile modificare l'espressione per cambiare il modo in cui la rilevanza di campo `_score` contribuisce alla classificazione generale di un documento. Per ulteriori informazioni, consulta [Utilizzo della rilevanza del campo relativa per personalizzare la rilevanza del testo](weighting-fields.md).

1. Scegli **Esegui**.

1. Vengono visualizzati i risultati della ricerca per le due espressioni. side-by-side Se l'espressione è vuota, i risultati vengono ordinati in base al valore `_score` predefinito della rilevanza. Quattro icone evidenziano le differenze:  
![\[Green upward-pointing arrow icon indicating an increase or positive trend.\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/images/cloudsearch-console-green-up-arrow.png)Freccia verde verso l'alto  
 Il documento viene posizionato più in alto nella classifica dei risultati di ricerca che utilizzano la seconda espressione.   
![\[Red downward-pointing arrow icon indicating a download or direction.\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/images/cloudsearch-console-red-down-arrow.png)Freccia rossa verso il basso  
 Il documento viene posizionato più in basso nella classifica dei risultati di ricerca che utilizzano la seconda espressione.   
![\[Yellow plus sign icon typically used to indicate an add or create action.\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/images/cloudsearch-console-yellow-plus.png)Plus giallo  
 Il documento è incluso nei risultati di ricerca che utilizzano la seconda espressione, ma è stato omesso dai risultati di ricerca che utilizzano la prima espressione.  
![\[Red circular sign with a white horizontal bar, indicating prohibition or restriction.\]](http://docs.aws.amazon.com/it_it/cloudsearch/latest/developerguide/images/cloudsearch-console-red-minus.png)Meno rosso  
 Il documento è stato omesso dai risultati di ricerca che utilizzano la seconda espressione, ma è stato incluso nei risultati di ricerca che utilizzano la prima espressione. 

**Nota**  
È possibile salvare le espressioni nella configurazione del dominio direttamente dal riquadro **Confronta espressioni**. Per salvare una delle due espressioni, scegli **Salva espressione**.