

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengkonfigurasi Ekspresi di Amazon CloudSearch
<a name="configuring-expressions"></a>

Anda dapat menentukan ekspresi numerik dan menggunakannya untuk mengurutkan hasil pencarian. Ekspresi juga dapat dikembalikan dalam hasil pencarian. Anda dapat menambahkan ekspresi ke konfigurasi domain atau menentukan ekspresi dalam permintaan pencarian. 

**Topics**
+ [Menulis Ekspresi untuk Amazon CloudSearch](#writing-expressions)
+ [query time expressions](defining-expressions-in-requests.md)
+ [Mengonfigurasi Ekspresi yang Dapat Digunakan Kembali untuk Domain Penelusuran di Amazon CloudSearch](configuring-reusable-expressions.md)
+ [Membandingkan Ekspresi di Amazon CloudSearch](comparing-expressions.md)

## Menulis Ekspresi untuk Amazon CloudSearch
<a name="writing-expressions"></a>

 CloudSearch Ekspresi Amazon dapat berisi:
+ Nilai tunggal, urutkan bidang numerik yang diaktifkan (`int`,`double`,`date`). (Anda harus menentukan bidang tertentu, wildcard tidak didukung.)
+ Ekspresi lainnya
+ `_score`Variabel, yang mereferensikan skor relevansi dokumen
+ `_time`Variabel, yang mereferensikan waktu zaman saat ini
+ `_rand`Variabel, yang mengembalikan nilai yang dihasilkan secara acak
+ Integer, floating point, hex, dan literal oktal
+ Operator aritmatika: `+ - * / %`
+ Operator Bitwise: ` | & ^ ~ << >> >>>`
+ Operator Boolean (termasuk operator ternary): ` && || ! ?: `
+ Operator perbandingan: ` < <= == >= > `
+ Fungsi matematika: `abs ceil exp floor ln log10 logn max min pow sqrt `
+ Fungsi trigonometri: `acos acosh asin asinh atan atan2 atanh cos cosh sin sinh tanh tan`
+ Fungsi `haversin` jarak

[ JavaScript urutan aturan prioritas berlaku](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table) untuk operator. Anda dapat mengganti prioritas operator dengan menggunakan tanda kurung.

Evaluasi pintasan digunakan saat mengevaluasi ekspresi logis—jika nilai ekspresi dapat ditentukan setelah mengevaluasi argumen pertama, argumen kedua tidak dievaluasi. Misalnya, dalam ekspresi`a || b`, hanya `b` dievaluasi jika tidak `a` benar.

Ekspresi selalu mengembalikan nilai integer dari 0 ke nilai integer bertanda 64-bit maksimum (2 ^ 63 - 1). Hasil antara dihitung sebagai nilai floating point presisi ganda dan nilai pengembalian dibulatkan ke bilangan bulat terdekat. Jika ekspresi tidak valid atau mengevaluasi ke nilai negatif, ia mengembalikan 0. Jika ekspresi mengevaluasi nilai yang lebih besar dari maksimum, ia mengembalikan nilai maksimum. 

Nama ekspresi harus dimulai dengan huruf dan setidaknya 3 dan panjangnya tidak lebih dari 64 karakter. Karakter berikut diperbolehkan: a-z (huruf kecil), 0-9, dan \$1 (garis bawah). *Skor* nama dicadangkan dan tidak dapat digunakan sebagai nama ekspresi.

Misalnya, jika Anda menentukan `int` bidang bernama *popularitas* untuk domain Anda, Anda dapat menggunakan bidang tersebut bersama dengan relevansi default `_score` untuk membuat ekspresi kustom. 

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

Perhatikan bahwa contoh sederhana ini mengasumsikan bahwa peringkat popularitas dan nilai \$1score relevansi berada dalam kisaran yang hampir sama. Untuk menyetel ekspresi Anda untuk hasil peringkat, Anda perlu melakukan beberapa pengujian untuk menentukan cara menimbang komponen ekspresi Anda untuk mendapatkan hasil yang Anda inginkan. 

### Menggunakan Bidang Tanggal di CloudSearch Ekspresi Amazon
<a name="using-dates-in-expressions"></a>

Nilai dari `date` bidang disimpan sebagai waktu epoch dengan resolusi milidetik. Ini berarti Anda dapat menggunakan operator matematika dan perbandingan untuk membangun ekspresi menggunakan tanggal yang disimpan dalam dokumen Anda dan waktu epoch saat ini ()`_time`. Misalnya, menggunakan ekspresi berikut untuk mengurutkan hasil penelusuran dari domain film mendorong film dengan tanggal rilis terbaru ke bagian atas daftar. 

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

# Mendefinisikan CloudSearch Ekspresi Amazon dalam Permintaan Penelusuran
<a name="defining-expressions-in-requests"></a>

Anda dapat menentukan dan menggunakan ekspresi secara langsung dalam permintaan pencarian sehingga Anda dapat mengulangi dengan cepat saat Anda menyempurnakan ekspresi yang Anda gunakan untuk mengurutkan hasil. Dengan mendefinisikan ekspresi dalam permintaan pencarian, Anda juga dapat memasukkan informasi kontekstual ke dalam ekspresi, seperti lokasi geografis pengguna. Anda dapat mengganti ekspresi yang ditentukan dalam konfigurasi domain dengan mendefinisikan ekspresi dengan nama yang sama dalam permintaan pencarian.

Ketika Anda menentukan ekspresi dalam permintaan pencarian, itu tidak disimpan sebagai bagian dari konfigurasi domain Anda. Jika Anda ingin menggunakan ekspresi dalam permintaan lain, Anda harus menentukan ekspresi di setiap permintaan atau menambahkan ekspresi ke konfigurasi domain Anda. Mendefinisikan ekspresi di setiap permintaan daripada menambahkannya ke konfigurasi domain meningkatkan overhead permintaan, yang dapat mengakibatkan waktu respons lebih lambat dan berpotensi meningkatkan biaya menjalankan domain Anda. Untuk informasi tentang menambahkan ekspresi ke konfigurasi domain, lihat[Mengkonfigurasi Ekspresi](configuring-expressions.md). 

Anda dapat menentukan dan menggunakan beberapa ekspresi dalam permintaan pencarian. Definisi ekspresi dapat mereferensikan ekspresi lain yang didefinisikan dalam permintaan, serta ekspresi yang dikonfigurasi sebagai bagian dari konfigurasi domain. 

Tidak ada batasan tentang bagaimana Anda dapat menggunakan ekspresi yang Anda tentukan dalam permintaan pencarian. Anda dapat menggunakan ekspresi untuk mengurutkan hasil pencarian, menentukan ekspresi lain, atau mengembalikan informasi yang dihitung dalam hasil pencarian. 

**Untuk menentukan ekspresi dalam permintaan pencarian**

1. Gunakan `expr.NAME` parameter, di mana NAME adalah nama ekspresi yang Anda definisikan. Contoh: 

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

1. Untuk menggunakan ekspresi untuk mengurutkan hasil, tentukan nama ekspresi dengan `sort` parameter:

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

1. Untuk menyertakan nilai yang dihitung dalam hasil pencarian, tambahkan ekspresi ke daftar `return` bidang: 

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

 Misalnya, permintaan berikut membuat dua ekspresi yang digunakan untuk mengurutkan hasil dan mengembalikan salah satunya dalam hasil pencarian:

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

# Mengonfigurasi Ekspresi yang Dapat Digunakan Kembali untuk Domain Penelusuran di Amazon CloudSearch
<a name="configuring-reusable-expressions"></a>

Saat Anda menentukan ekspresi dalam konfigurasi domain, Anda dapat mereferensikan ekspresi dalam permintaan penelusuran apa pun. Menambahkan ekspresi ke konfigurasi domain mengurangi overhead untuk menentukannya di setiap permintaan, dan membantu memaksimalkan waktu respons dan meminimalkan biaya. 

Saat Anda menambahkan ekspresi ke konfigurasi domain Anda, perlu beberapa waktu agar perubahan diproses dan ekspresi baru menjadi aktif. Untuk menguji perubahan ekspresi dengan cepat, Anda dapat menentukan dan menggunakan ekspresi secara langsung dalam permintaan pencarian, seperti yang dijelaskan dalam[Mendefinisikan Ekspresi dalam Permintaan Penelusuran](defining-expressions-in-requests.md). Setelah Anda selesai menguji dan menyetel ekspresi, Anda harus menambahkannya ke konfigurasi domain Anda. 

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

## Mengonfigurasi Ekspresi Menggunakan Konsol Amazon CloudSearch
<a name="configuring-expressions-console"></a>

**Untuk mengkonfigurasi ekspresi**

1. Buka CloudSearch konsol Amazon di [https://console.aws.amazon.com/cloudsearch/rumah](https://console.aws.amazon.com/cloudsearch/home).

1. Dari panel navigasi kiri, pilih **Domain**.

1. Pilih nama domain untuk membuka konfigurasinya.

1. Buka tab **Opsi pencarian lanjutan**.

1. Di panel **Ekspresi**, pilih **Tambahkan ekspresi**.

1. Masukkan nama untuk ekspresi baru.

1. Untuk **Nilai**, masukkan ekspresi numerik yang ingin Anda evaluasi pada waktu pencarian. Anda dapat memilih **Sisipkan** untuk menambahkan nilai khusus dan fungsi matematika dan trigonometri.

1. Pilih **Simpan**.

## Mengonfigurasi CloudSearch Ekspresi Amazon Menggunakan AWS CLI
<a name="configuring-expressions-clt"></a>

Anda menggunakan `aws cloudsearch define-expression` perintah untuk mendefinisikan ekspresi terkomputasi untuk domain.

**Untuk mengkonfigurasi ekspresi**
+ Jalankan `aws cloudsearch define-expression` perintah untuk mendefinisikan ekspresi baru. Anda menentukan nama untuk ekspresi dengan `--name` opsi, dan ekspresi numerik yang ingin Anda evaluasi dengan `--expression` opsi. Misalnya, permintaan berikut membuat ekspresi `popularhits` yang disebut yang memperhitungkan dokumen `popularity` dan relevansi. `_score`

  ```
  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)"
          }
      }
  }
  ```

## Mengonfigurasi Ekspresi Menggunakan API CloudSearch Konfigurasi Amazon
<a name="configuring-expressions-sdk"></a>

AWS SDKs (kecuali Android dan iOS SDKs) mendukung semua CloudSearch tindakan Amazon yang ditentukan dalam API CloudSearch Konfigurasi Amazon, termasuk`DefineExpression`. Untuk informasi selengkapnya tentang menginstal dan menggunakan AWS SDKs, lihat [AWS Software Development Kits](https://aws.amazon.com/code).

# Membandingkan Ekspresi di Amazon CloudSearch
<a name="comparing-expressions"></a>

 Anda dapat menggunakan CloudSearch konsol Amazon untuk membandingkan ekspresi dan melihat bagaimana perubahan pada ekspresi dan bobot bidang memengaruhi cara Amazon CloudSearch mengurutkan hasil penelusuran.

**Untuk membandingkan ekspresi**

1. Buka CloudSearch konsol Amazon di [https://console.aws.amazon.com/cloudsearch/rumah](https://console.aws.amazon.com/cloudsearch/home).

1. Di panel navigasi kiri, pilih **Domain**.

1. Pilih nama domain untuk membuka konfigurasinya.

1. Pilih **Tindakan**, **Bandingkan ekspresi**.

1. Di kotak **Pencarian**, masukkan istilah yang ingin Anda cari. Amazon CloudSearch memberi peringkat hasil pencarian menggunakan ekspresi dan bobot yang ditentukan. Ini menyegarkan hasil setiap kali Anda membuat perubahan pada ekspresi atau bobot.

1. Di setiap editor ekspresi, tentukan ekspresi peringkat untuk membandingkan. Anda dapat menambahkan ekspresi baru atau memilih ekspresi yang ada dari menu **Ekspresi tersimpan**. Amazon CloudSearch mengevaluasi ekspresi baru saat Anda mengirimkan permintaan pencarian.

1. Tentukan bobot bidang yang akan digunakan untuk setiap ekspresi. Anda juga dapat mengedit bobot bidang secara langsung dalam ekspresi. Bobot bidang harus dalam kisaran 0,0 hingga 10,0, inklusif. Secara default, bobot untuk semua bidang diatur ke 1.0. Anda dapat mengatur bobot bidang individual untuk mengontrol seberapa banyak kecocokan dalam teks tertentu atau bidang literal memengaruhi \$1score relevansi dokumen. Anda juga dapat mengubah bobot default.
**catatan**  
Menyesuaikan bobot bidang hanya memengaruhi peringkat hasil jika ekspresi mereferensikan `_score` nilai. Anda dapat memodifikasi ekspresi untuk mengubah bagaimana relevansi bobot `_score` berkontribusi pada peringkat keseluruhan dokumen. Untuk informasi selengkapnya, lihat [Menggunakan Pembobotan Bidang Relatif untuk Menyesuaikan Relevansi Teks](weighting-fields.md).

1. Pilih **Jalankan**.

1. Hasil pencarian untuk dua ekspresi ditampilkan side-by-side. (Jika ekspresi kosong, hasilnya diurutkan menurut `_score` relevansi default.) Empat ikon menyoroti perbedaan:  
![\[Green upward-pointing arrow icon indicating an increase or positive trend.\]](http://docs.aws.amazon.com/id_id/cloudsearch/latest/developerguide/images/cloudsearch-console-green-up-arrow.png)Panah hijau ke atas  
 Dokumen diberi peringkat lebih tinggi dalam hasil pencarian menggunakan ekspresi kedua.   
![\[Red downward-pointing arrow icon indicating a download or direction.\]](http://docs.aws.amazon.com/id_id/cloudsearch/latest/developerguide/images/cloudsearch-console-red-down-arrow.png)Panah merah ke bawah  
 Dokumen diberi peringkat lebih rendah dalam hasil pencarian menggunakan ekspresi kedua.   
![\[Yellow plus sign icon typically used to indicate an add or create action.\]](http://docs.aws.amazon.com/id_id/cloudsearch/latest/developerguide/images/cloudsearch-console-yellow-plus.png)Kuning plus  
 Dokumen disertakan dalam hasil pencarian menggunakan ekspresi kedua, tetapi dihilangkan dari hasil pencarian menggunakan ekspresi pertama.  
![\[Red circular sign with a white horizontal bar, indicating prohibition or restriction.\]](http://docs.aws.amazon.com/id_id/cloudsearch/latest/developerguide/images/cloudsearch-console-red-minus.png)Merah minus  
 Dokumen dihilangkan dari hasil pencarian menggunakan ekspresi kedua, tetapi disertakan dalam hasil pencarian menggunakan ekspresi pertama. 

**catatan**  
Anda dapat menyimpan ekspresi ke konfigurasi domain langsung dari panel **Bandingkan ekspresi**. Untuk menyimpan salah satu ekspresi, pilih **Simpan ekspresi**.