

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

# Cari Referensi API untuk Amazon CloudSearch
<a name="search-api"></a>

**Topics**
+ [Pencarian](#search-request)
+ [Mengirimkan Permintaan Saran di Amazon CloudSearch](#submitting-suggest-requests)
+ [Sarankan](#suggest)
+ [Kesalahan Layanan Pencarian](#search-service-errors)

Anda menggunakan API Penelusuran untuk mengirimkan permintaan pencarian atau saran ke CloudSearch domain Amazon Anda. Untuk informasi selengkapnya tentang penelusuran, lihat[Mencari Data Anda dengan Amazon CloudSearch](searching.md). Untuk informasi lebih lanjut tentang saran, lihat[Mendapatkan Saran Pelengkapan Otomatis di Amazon CloudSearch](getting-suggestions.md).

Yang lain yang APIs Anda gunakan untuk berinteraksi dengan Amazon CloudSearch adalah: 
+ [API Konfigurasi](configuration-api.md) —Siapkan dan kelola domain penelusuran Anda.
+ [Document Service API](document-service-api.md) —Kirim data yang ingin Anda cari.

## Pencarian
<a name="search-request"></a>

Bagian ini menjelaskan permintaan HTTP dan pesan respons untuk sumber pencarian.

### Sintaks Pencarian
<a name="search-syntax"></a>

```
GET /2013-01-01/search
```

### Header Permintaan Pencarian
<a name="search-request-headers"></a>

HOST  
Titik akhir permintaan pencarian untuk domain yang Anda kueri. Anda dapat menggunakan [DescribeDomains](API_DescribeDomains.md) untuk mengambil titik akhir permintaan pencarian domain Anda.   
Wajib: Ya

### Parameter Permintaan Pencarian
<a name="search-request-parameters"></a>

cursor  
Mengambil nilai kursor yang dapat Anda gunakan untuk halaman melalui set hasil besar. Gunakan `size` parameter untuk mengontrol jumlah klik yang ingin Anda sertakan dalam setiap respons. Anda dapat menentukan `start` parameter `cursor` atau dalam permintaan, keduanya saling eksklusif. Untuk informasi selengkapnya, lihat [Hasil Paginating](paginating-results.md).  
Untuk mendapatkan kursor pertama, tentukan `cursor=initial` dalam permintaan awal Anda. Dalam permintaan berikutnya, tentukan nilai kursor yang dikembalikan di bagian hits respons.   
Misalnya, permintaan berikut menetapkan nilai kursor ke `initial` dan `size` parameter ke 100 untuk mendapatkan set hit pertama. Kursor untuk set hit berikutnya disertakan dalam respons.  

```
search?q=john&cursor=initial&size=100&return=_no_fields
{
   "status": {
      "rid": "+/Xu5s0oHwojC6o=",
      "time-ms": 15
   },
   "hits": {
      "found": 503,
      "start": 0,
      "cursor": "VegKzpYYQW9JSVFFRU1UeWwwZERBd09EUTNPRGM9ZA",
      "hit": [
         {"id": "tt0120601"},
         {"id": "tt1801552"},
         ...
      ]
   }
}
```
Untuk mendapatkan set hit berikutnya, Anda menentukan nilai kursor dan jumlah klik yang akan diambil.  

```
search?q=john&cursor=VegKzpYYQW9JSVFFRU1UeWwwZERBd09EUTNPRGM9ZA&size=100
```
Tipe: String  
Wajib: Tidak

expr.NAME  
Mendefinisikan ekspresi yang dapat digunakan untuk mengurutkan hasil. Anda juga dapat menentukan ekspresi sebagai bidang kembali. Untuk informasi selengkapnya tentang mendefinisikan dan menggunakan ekspresi, lihat[Mengkonfigurasi Ekspresi](configuring-expressions.md).  
Anda dapat menentukan dan menggunakan beberapa ekspresi dalam permintaan pencarian. Misalnya, permintaan berikut membuat dua ekspresi yang digunakan untuk mengurutkan hasil dan menyertakannya dalam hasil pencarian:  

```
search?q=(and (term field=genres 'Sci-Fi')(term field=genres 'Comedy'))&q.parser=structured
&expr.expression1=_score*rating
&expr.expression2=(1/rank)*year
&sort=expression1 desc,expression2 desc
&return=title,rating,rank,year,_score,expression1,expression2
```
Tipe: String  
Wajib: Tidak

facet.FIELD   
Menentukan bidang yang Anda ingin mendapatkan informasi facet untuk- `FIELD` adalah nama bidang. Bidang yang ditentukan harus facet diaktifkan dalam konfigurasi domain. Opsi facet ditentukan sebagai objek JSON. Jika objek JSON kosong,`facet.FIELD={}`, jumlah faset dihitung untuk semua nilai bidang, faset diurutkan berdasarkan jumlah faset, dan 10 aspek teratas dikembalikan dalam hasil.   
Anda dapat menentukan tiga opsi di objek JSON:  
+ `sort`menentukan bagaimana Anda ingin mengurutkan aspek dalam hasil: `bucket` atau. `count` Tentukan `bucket` untuk mengurutkan menurut abjad atau numerik berdasarkan nilai faset (dalam urutan menaik). Tentukan `count` untuk mengurutkan berdasarkan jumlah faset yang dihitung untuk setiap nilai faset (dalam urutan menurun). Untuk mengambil jumlah faset untuk nilai atau rentang nilai tertentu, gunakan `buckets` opsi alih-alih. `sort` 
+ `buckets`menentukan array nilai faset atau rentang yang ingin Anda hitung. Ember dikembalikan sesuai urutan yang ditentukan dalam permintaan. Untuk menentukan rentang nilai, gunakan koma (,) untuk memisahkan batas atas dan bawah dan lampirkan rentang menggunakan tanda kurung atau tanda kurung. Braket persegi, [atau], menunjukkan bahwa ikatan termasuk dalam rentang, penjepit keriting, \$1atau\$1, tidak termasuk batas. Anda dapat menghilangkan batas atas atau bawah untuk menentukan rentang terbuka. Saat menghilangkan ikatan, Anda harus menggunakan penjepit keriting. `size`Opsi `sort` dan tidak valid jika Anda menentukan`buckets`.
+ `size`menentukan jumlah maksimum aspek untuk dimasukkan dalam hasil. Secara default, Amazon CloudSearch mengembalikan jumlah untuk 10 besar. `size`Parameter hanya valid ketika Anda menentukan `sort` opsi; itu tidak dapat digunakan bersama dengan`buckets`.
Misalnya, permintaan berikut mendapatkan jumlah faset untuk `year` bidang, mengurutkan jumlah faset berdasarkan nilai dan mengembalikan jumlah untuk tiga teratas:  

```
facet.year={sort:"bucket", size:3}
```
Untuk menentukan nilai atau rentang nilai yang ingin Anda hitung jumlah faset, gunakan opsi. `buckets` Misalnya, permintaan berikut menghitung dan mengembalikan jumlah faset menurut dekade:  

```
facet.year={buckets:["[1970,1979]","[1980,1989]",
             "[1990,1999]","[2000,2009]",
             "[2010,}"]}
```
 Anda juga dapat menentukan nilai individual sebagai bucket:  

```
facet.genres={buckets:["Action","Adventure","Sci-Fi"]}
```
Perhatikan bahwa nilai faset peka huruf besar—dengan data IMDb film sampel, jika Anda menentukan, `["action","adventure","sci-fi"]` bukan, semua jumlah `["Action","Adventure","Sci-Fi"]` faset adalah nol.   
Tipe: String  
Wajib: Tidak

format  
Menentukan jenis konten respon.   
Tipe: String  
Nilai yang Valid: json\$1xml\$1  
Default: json  
Wajib: Tidak

fq  
Menentukan query terstruktur yang menyaring hasil pencarian tanpa mempengaruhi bagaimana hasil dinilai dan diurutkan. Anda menggunakan `fq` bersama dengan `q` parameter untuk memfilter dokumen yang cocok dengan batasan yang ditentukan dalam parameter. `q` Menentukan filter hanya mengontrol dokumen pencocokan mana yang disertakan dalam hasil, itu tidak berpengaruh pada bagaimana mereka dinilai dan diurutkan. `fq`Parameter mendukung sintaks kueri terstruktur penuh. Untuk informasi selengkapnya tentang menggunakan filter, lihat[Memfilter Dokumen Pencocokan](filtering-results.md). Untuk informasi selengkapnya tentang kueri terstruktur, lihat[Sintaks Pencarian Terstruktur](#structured-search-syntax).   
Tipe: String  
Wajib: Tidak

highlight.FIELD  
Mengambil sorotan untuk kecocokan di `text-array` bidang `text` atau yang ditentukan. Opsi sorotan ditentukan sebagai objek JSON. Jika objek JSON kosong, teks bidang yang dikembalikan diperlakukan sebagai HTML dan kecocokan pertama disorot dengan tag penekanan:`<em>search-term</em>`.   
Anda dapat menentukan empat opsi di objek JSON:  
+ `format`—menentukan format data di bidang teks: `text` atau. `html` Ketika data dikembalikan sebagai HTML, semua karakter non-alfanumerik dikodekan. Nilai default-nya `html`. 
+ `max_phrases`—menentukan jumlah maksimum kemunculan istilah pencarian yang ingin Anda sorot. Secara default, kejadian pertama disorot. 
+ `pre_tag`—menentukan string untuk ditambahkan ke kemunculan istilah pencarian. Default untuk sorotan HTML adalah`<em>`. Default untuk sorotan teks adalah`*`. 
+ `post_tag`—menentukan string untuk ditambahkan ke kemunculan istilah pencarian. Default untuk sorotan HTML adalah`</em>`. Default untuk sorotan teks adalah`*`. 
Contoh:`highlight.plot={}`, `highlight.plot={format:'text',max_phrases:2,pre_tag:'<b>',post_tag:'</b>'}`  
Tipe: String  
Wajib: Tidak

partial  
Mengontrol apakah hasil sebagian dikembalikan jika satu atau lebih partisi indeks tidak tersedia. Ketika indeks pencarian Anda dipartisi di beberapa instance penelusuran, secara default Amazon CloudSearch hanya mengembalikan hasil jika setiap partisi dapat ditanyakan. Ini berarti bahwa kegagalan satu contoh pencarian dapat mengakibatkan kesalahan 5xx (server internal). Saat Anda menentukan`partial=true`. Amazon CloudSearch mengembalikan hasil apa pun yang tersedia dan menyertakan persentase dokumen yang dicari di hasil pencarian (`percent-searched`). Hal ini memungkinkan Anda untuk lebih anggun menurunkan pengalaman pencarian pengguna Anda. Misalnya, daripada tidak menampilkan hasil, Anda dapat menampilkan sebagian hasil dan pesan yang menunjukkan bahwa hasilnya mungkin tidak lengkap karena pemadaman sistem sementara.  
Jenis: Boolean  
Default: Salah  
Wajib: Tidak

pretty  
Format output JSON sehingga lebih mudah dibaca.   
Jenis: Boolean  
Default: Salah  
Wajib: Tidak

q   
Kriteria pencarian untuk permintaan tersebut. Cara Anda menentukan kriteria pencarian tergantung pada parser kueri yang digunakan untuk permintaan dan opsi parser yang ditentukan dalam parameter. `q.options` Secara default, parser `simple` kueri digunakan untuk memproses permintaan. Untuk menggunakan`structured`,`lucene`, atau `dismax` query parser, Anda juga harus menentukan `q.parser` parameter. Untuk informasi selengkapnya tentang menentukan kriteria pencarian, lihat[Mencari Data Anda dengan Amazon CloudSearch](searching.md).  
Tipe: String  
Diperlukan: Ya

q.options   
Konfigurasikan opsi untuk parser kueri yang ditentukan dalam `q.parser` parameter. Opsi ditentukan sebagai objek JSON, misalnya:`q.options={defaultOperator: 'or', fields: ['title^5','description']}`.   
Opsi yang dapat Anda konfigurasikan bervariasi sesuai dengan parser mana yang Anda gunakan:  
+ `defaultOperator`—Operator default digunakan untuk menggabungkan istilah individual dalam string pencarian. Sebagai contoh: `defaultOperator: 'or'`. Untuk `dismax` parser, Anda menentukan persentase yang mewakili persentase istilah dalam string pencarian (dibulatkan ke bawah) yang harus cocok, bukan operator default. Nilai `0%` setara dengan OR, dan nilai `100%` setara dengan AND. Persentase harus ditentukan sebagai nilai dalam kisaran 0-100 diikuti oleh simbol persen (%). Misalnya, `defaultOperator: 50%`. Nilai yang valid:`and`,`or`, persentase dalam kisaran 0%-100% (). `dismax` Default: `and` (`simple``structured`,,`lucene`) atau `100` (`dismax`). Berlaku untuk:`simple`,`structured`,`lucene`, dan`dismax`. 
+ `fields`—Sebuah array bidang untuk mencari ketika tidak ada bidang yang ditentukan dalam pencarian. Jika tidak ada bidang yang ditentukan dalam pencarian dan opsi ini tidak ditentukan, semua dikonfigurasi secara statis `text` dan `text-array` bidang dicari. Anda dapat menentukan bobot untuk setiap bidang untuk mengontrol kepentingan relatif setiap bidang saat Amazon CloudSearch menghitung skor relevansi. Untuk menentukan berat bidang, tambahkan simbol tanda sisipan (`^`) dan bobot ke nama bidang. Misalnya, untuk meningkatkan pentingnya bidang di atas `title` bidang, `description` Anda dapat menentukan:`fields: ['title^5','description']`. Nilai yang valid: Nama bidang yang dikonfigurasi dan nilai numerik opsional lebih besar dari nol. Default: Semua dikonfigurasi secara statis `text` dan `text-array` bidang. Bidang dan `literal` bidang dinamis tidak dicari secara default. Berlaku untuk:`simple`,`structured`,`lucene`, dan`dismax`. 
+ `operators`—Array operator atau karakter khusus yang ingin Anda nonaktifkan untuk parser kueri sederhana. Jika Anda menonaktifkan`and`,`or`, atau `not` operator, operator yang sesuai (`+`,`|`,`-`) tidak memiliki arti khusus dan dijatuhkan dari string pencarian. Demikian pula, menonaktifkan `prefix` menonaktifkan operator wildcard (`*`) dan `phrase` menonaktifkan kemampuan untuk mencari frasa dengan melampirkan frasa dalam tanda kutip ganda. Menonaktifkan prioritas menonaktifkan kemampuan untuk mengontrol urutan prioritas menggunakan tanda kurung. Menonaktifkan `near` menonaktifkan kemampuan untuk menggunakan operator \$1 untuk melakukan pencarian frase yang ceroboh. Menonaktifkan `fuzzy` operator menonaktifkan kemampuan untuk menggunakan operator \$1 untuk melakukan pencarian fuzzy. `escape`menonaktifkan kemampuan untuk menggunakan garis miring terbalik (`\`) untuk melarikan diri dari karakter khusus dalam string pencarian. Menonaktifkan spasi putih adalah opsi lanjutan yang mencegah parser melakukan tokenisasi pada spasi putih, yang dapat berguna untuk orang Vietnam. (Ini mencegah kata-kata Vietnam dipecah secara tidak benar.) Misalnya, Anda dapat menonaktifkan semua operator selain operator frasa untuk mendukung hanya kueri istilah dan frasa sederhana:`operators:['and', 'not', 'or', 'prefix']`. Nilai yang valid: `and``escape`,`fuzzy`,,`near`,`not`,`or`,`phrase`,`precedence`,`prefix`,`whitespace`. Default: Semua operator dan karakter khusus diaktifkan. Berlaku untuk:`simple`. 
+ `phraseFields`—Sebuah array dari `text` atau `text-array` bidang yang ingin Anda gunakan untuk pencarian frase. Ketika istilah dalam string pencarian muncul dalam jarak dekat dalam bidang, skor bidang lebih tinggi. Anda dapat menentukan bobot untuk setiap bidang untuk meningkatkan skor itu. `phraseSlop`Opsi ini mengontrol seberapa banyak kecocokan dapat menyimpang dari string pencarian dan masih ditingkatkan. Untuk menentukan berat bidang, tambahkan simbol tanda sisipan (`^`) dan bobot ke nama bidang. Misalnya, untuk meningkatkan kecocokan frasa di `title` bidang di atas `abstract` bidang, Anda dapat menentukan: Nilai yang `phraseFields:['title^3', 'abstract']` valid: Nama `text-array` bidang `text` atau apa pun dan nilai numerik opsional lebih besar dari nol. Default: Tidak ada bidang. Jika Anda tidak menentukan bidang apa pun`phraseFields`, skor kedekatan dinonaktifkan meskipun `phraseSlop` ditentukan. Berlaku untuk:`dismax`.
+ `phraseSlop`—Nilai integer yang menentukan berapa banyak kecocokan dapat menyimpang dari frase pencarian dan masih ditingkatkan sesuai dengan bobot yang ditentukan dalam opsi. `phraseFields` Misalnya, `phraseSlop: 2`. Anda juga harus menentukan `phraseFields` untuk mengaktifkan penilaian kedekatan. Nilai valid: bilangan bulat positif. Default: 0. Berlaku untuk:`dismax`.
+ `explicitPhraseSlop`—Nilai integer yang menentukan seberapa banyak kecocokan dapat menyimpang dari frase pencarian ketika frasa diapit tanda kutip ganda dalam string pencarian. (Frasa yang melebihi jarak kedekatan ini tidak dianggap cocok.) `explicitPhraseSlop: 5`. Nilai valid: bilangan bulat positif. Default: 0. Berlaku untuk:`dismax`.
+ `tieBreaker`—Ketika sebuah istilah dalam string pencarian ditemukan di bidang dokumen, skor dihitung untuk bidang tersebut berdasarkan seberapa umum kata tersebut di bidang itu dibandingkan dengan dokumen lain. Jika istilah muncul di beberapa bidang dalam dokumen, secara default hanya bidang penilaian tertinggi yang berkontribusi pada skor keseluruhan dokumen. Anda dapat menentukan `tieBreaker` nilai untuk mengaktifkan kecocokan di bidang dengan skor lebih rendah untuk berkontribusi pada skor dokumen. Dengan begitu, jika dua dokumen memiliki skor bidang maks yang sama untuk istilah tertentu, skor untuk dokumen yang memiliki kecocokan di lebih banyak bidang akan lebih tinggi. Rumus untuk menghitung skor dengan TieBreaker adalah:

  ```
  (max field score) + (tieBreaker) * (sum of the scores for the rest of the matching fields)
  ```

  Misalnya, kueri berikut mencari istilah *dog* di `review` bidang`title`,`description`, dan disetel `tieBreaker` ke 0.1:

  ```
  q=dog&q.parser=dismax&q.options={fields:['title', 'description', 'review'], tieBreaker: 0.1}
  ```

  Jika *dog* muncul di ketiga bidang dokumen dan skor untuk setiap bidang adalah title=1, description=3, dan review=1, skor keseluruhan untuk istilah dog adalah:

  ```
  3 +  0.1 * (1+1) = 3.2
  ```

   Setel `tieBreaker` ke 0 untuk mengabaikan semua kecuali bidang skor tertinggi (maks murni). Setel ke 1 untuk menjumlahkan skor dari semua bidang (jumlah murni). Nilai yang valid: 0,0 hingga 1,0. Default: 0.0. Berlaku untuk:`dismax`.
Jenis: objek JSON  
Default: Lihat deskripsi opsi individual.  
Wajib: Tidak

q.parser   
Menentukan parser query yang akan digunakan untuk memproses permintaan:`simple`,, `structured``lucene`, dan. `dismax` Jika tidak `q.parser` ditentukan, Amazon CloudSearch menggunakan parser `simple` kueri.   
+ `simple`—melakukan pencarian sederhana `text` dan `text-array` bidang. Secara default, parser `simple` kueri mencari semua bidang dan dikonfigurasi `text` secara statis. `text-array` Anda dapat menentukan bidang mana yang akan dicari dengan `q.options` parameter. Jika Anda mengawali istilah pencarian dengan tanda tambah (\$1) dokumen harus berisi istilah yang akan dianggap cocok. (Ini adalah default, kecuali jika Anda mengkonfigurasi operator default dengan `q.options` parameter.) Anda dapat menggunakan operator `-` (NOT), `|` (OR), dan `*` (wildcard) untuk mengecualikan istilah tertentu, menemukan hasil yang cocok dengan salah satu istilah yang ditentukan, atau mencari awalan. Untuk mencari frasa daripada istilah individual, lampirkan frasa dalam tanda kutip ganda. Untuk informasi selengkapnya, lihat [Mencari Data Anda dengan Amazon CloudSearch](searching.md). 
+ `structured`—melakukan pencarian lanjutan dengan menggabungkan beberapa ekspresi untuk menentukan kriteria pencarian. Anda juga dapat mencari dalam bidang tertentu, mencari nilai dan rentang nilai, dan menggunakan opsi lanjutan seperti peningkatan istilah,`matchall`, dan`near`. Untuk informasi selengkapnya, lihat [Membangun Kueri Senyawa](searching-compound-queries.md).
+ `lucene`—cari menggunakan sintaks parser kueri Apache Lucene. Untuk informasi selengkapnya, lihat [Apache Lucene Query](https://cwiki.apache.org/confluence/display/solr/The+Standard+Query+Parser) Parser Syntax.
+ `dismax`—search menggunakan subset sederhana dari sintaks parser kueri Apache Lucene yang ditentukan oleh parser kueri. DisMax Untuk informasi selengkapnya, lihat [Sintaks Pengurai DisMax Kueri](https://cwiki.apache.org/confluence/display/solr/The+DisMax+Query+Parser).
Tipe: String  
Default: `simple`  
Wajib: Tidak

return   
Nilai bidang dan ekspresi untuk disertakan dalam respons, ditentukan sebagai daftar yang dipisahkan koma. Secara default, respons penelusuran mencakup semua bidang yang diaktifkan kembali (`return=_all_fields`). Untuk mengembalikan hanya dokumen IDs untuk dokumen yang cocok, tentukan`return=_no_fields`. Untuk mengambil skor relevansi yang dihitung untuk setiap dokumen, tentukan. `return=_score` Anda menentukan beberapa bidang kembali sebagai daftar dipisahkan koma. Misalnya, `return=title,_score` mengembalikan hanya judul dan skor relevansi dari setiap dokumen yang cocok.  
Tipe: String  
Wajib: Tidak

size   
Jumlah maksimum klik pencarian untuk kembali.   
Tipe: Bilangan bulat positif  
Default: 10  
Wajib: Tidak

sort  
Daftar kolom atau ekspresi kustom yang dipisahkan koma untuk digunakan untuk mengurutkan hasil pencarian. Anda harus menentukan arah pengurutan (`asc`atau`desc`) untuk setiap bidang. Misalnya, `sort=year desc,title asc`. Anda dapat menentukan maksimal 10 bidang dan ekspresi. Untuk menggunakan bidang untuk mengurutkan hasil, itu harus diurutkan diaktifkan dalam konfigurasi domain. Bidang tipe array tidak dapat digunakan untuk menyortir. Jika tidak ada `sort` parameter yang ditentukan, hasil diurutkan berdasarkan skor relevansi defaultnya dalam urutan menurun:. `sort=_score desc` Anda juga dapat mengurutkan berdasarkan dokumen ID (`sort=_id`) dan versi (`sort=_version`).  
Tipe: String  
Wajib: Tidak

start   
Offset dari hit pencarian pertama yang ingin Anda kembalikan. Anda dapat menentukan `cursor` parameter `start` atau dalam permintaan, keduanya saling eksklusif. Untuk informasi selengkapnya, lihat [Hasil Paginating](paginating-results.md).  
Tipe: Bilangan bulat positif  
Default: 0 (hit pertama)  
Wajib: Tidak

#### Sintaks Pencarian Terstruktur
<a name="structured-search-syntax"></a>

Anda menggunakan sintaks penelusuran CloudSearch terstruktur Amazon untuk menentukan kriteria penelusuran saat menggunakan parser `structured` kueri, dan untuk menentukan kriteria filter dengan parameter. `fq` 

Saat menggunakan operator kueri terstruktur, Anda menentukan nama operator, opsi untuk operator, dan kemudian istilah yang dioperasikan,`(OPERATOR OPTIONS STRING|EXPRESSION)`. Opsi apa pun harus ditentukan sebelum string atau ekspresi. Misalnya, `(and (not field=genres 'Sci-Fi')(or (term field=title boost=2 'star')(term field=plot 'star')))`. 

**penting**  
Anda harus mengkodekan URL karakter khusus dalam string kueri. Misalnya, Anda harus menyandikan `=` operator dalam kueri terstruktur sebagai`%3D`:`(term+field%3Dtitle+'star'`). Amazon CloudSearch mengembalikan `InvalidQueryString` kesalahan jika karakter khusus tidak dikodekan URL. [Untuk referensi lengkap pengkodean URL, lihat Referensi Pengkodean URL HTML W3C.](http://www.w3schools.com/tags/ref_urlencode.asp)

Jika Anda tidak menentukan bidang yang ingin Anda cari saat menggunakan parser kueri terstruktur, semua `text-array` bidang `text` dan dikonfigurasi secara statis akan dicari. Bidang dan `literal` bidang dinamis *tidak* dicari secara default. Anda dapat menentukan bidang mana yang ingin Anda cari secara default dengan `q.options` parameter. 

Tanda kurung mengontrol urutan evaluasi ekspresi dalam kueri majemuk. Ketika ekspresi diapit dalam tanda kurung, ekspresi itu dievaluasi terlebih dahulu, dan kemudian nilai yang dihasilkan digunakan dalam evaluasi sisa kueri. Ekspresi dapat berisi salah satu operator kueri terstruktur. 

Anda juga dapat menggunakan parser kueri terstruktur untuk mencari string teks sederhana—cukup lampirkan string yang ingin Anda cari dalam tanda kutip tunggal:. `q='black swan'&q.parser="structured"`

Untuk informasi selengkapnya tentang membangun kueri majemuk dengan operator kueri terstruktur, lihat. [Membangun Kueri Senyawa](searching-compound-queries.md)

FIELD  
Sintaks: `FIELD: 'STRING'|value`  
Mencari bidang tertentu untuk string, nilai numerik, tanggal, atau rentang nilai numerik atau tanggal.   
String harus dilampirkan dalam tanda kutip tunggal. Setiap tanda kutip tunggal atau garis miring terbalik dalam string harus lolos dengan garis miring terbalik. Untuk menentukan rentang nilai, gunakan koma (,) untuk memisahkan batas atas dan bawah dan lampirkan rentang menggunakan tanda kurung atau tanda kurung. Braket persegi, [atau], menunjukkan bahwa ikatan termasuk dalam rentang, penjepit keriting, \$1atau\$1, tidak termasuk batas. Anda dapat menghilangkan batas atas atau bawah untuk menentukan rentang terbuka. Saat menghilangkan ikatan, Anda harus menggunakan penjepit keriting.   
 Tanggal dan waktu ditentukan dalam UTC (Coordinated Universal Time) menurut [ RFC3339IETF](http://tools.ietf.org/html/rfc3339):. `yyyy-mm-ddTHH:mm:ss.SSSZ` Di UTC, misalnya, 17:00 23 Agustus 1970 adalah:. `1970-08-23T17:00:00Z` Perhatikan bahwa Anda juga dapat menentukan detik pecahan saat menentukan waktu di UTC. Sebagai contoh, `1967-01-31T23:20:50.650Z.`.   
Contoh:   

```
title:'star'
year:2000
year:[1998,2000]
year:{,2011]
release_date:['2013-01-01T00:00:00Z',}
```

and  
Sintaks: `(and boost=N EXPRESSION EXPRESSION ... EXPRESSIONn)`  
Termasuk dokumen hanya jika cocok dengan semua ekspresi yang ditentukan. (`AND`Operator Boolean.) Ekspresi dapat berisi salah satu operator kueri terstruktur, atau string pencarian sederhana. String pencarian harus dilampirkan dalam tanda kutip tunggal. Perhatikan bahwa untuk mencocokkan dokumen yang berisi istilah tertentu di salah satu bidang yang dicari, Anda menentukan setiap istilah sebagai ekspresi terpisah:`(and 'star' 'wars')`. Jika Anda menentukan`(and 'star wars')`, *bintang* dan *perang* harus terjadi dalam bidang yang sama untuk dianggap cocok.   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(and title:'star' actors:'Harrison Ford' year:{,2000])
```

matchall  
Sintaks: `matchall`   
Cocokkan setiap dokumen di domain. Secara default, mengembalikan 10 pertama. Gunakan `start` parameter `size` dan ke halaman melalui hasil.

near  
Sintaks: `(near field=FIELD distance=N boost=N 'STRING') `  
Mencari `text` atau `text-array` bidang untuk string multi-term yang ditentukan dan mencocokkan dokumen yang berisi istilah dalam jarak yang ditentukan satu sama lain. (Ini kadang-kadang disebut pencarian frase *ceroboh*.) Jika Anda menghilangkan `field` opsi, Amazon CloudSearch mencari semua yang dikonfigurasi secara statis `text` dan `text-array` bidang secara default. Bidang dan `literal` bidang dinamis tidak dicari secara default. Anda dapat menentukan bidang mana yang ingin Anda cari secara default dengan menentukan `q.options` `fields` opsi.   
Nilai jarak harus berupa bilangan bulat positif. Misalnya, untuk menemukan semua dokumen di mana *remaja* terjadi dalam 10 kata *vampir* di `plot` lapangan, Anda menentukan nilai jarak 10:. `(near field=plot distance=10 'teenage vampire')`   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(near field=plot distance=10 'teenage vampire')
```

not   
Sintaks: `(not boost=N EXPRESSION)`  
Mengecualikan dokumen jika cocok dengan ekspresi yang ditentukan. (`NOT`Operator Boolean.) Ekspresi dapat berisi salah satu operator kueri terstruktur, atau string pencarian sederhana. String pencarian harus dilampirkan dalam tanda kutip tunggal.  
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(not (or actors:'Harrison Ford' year:{,2010]))
```

or   
Sintaks: `(or boost=N EXPRESSION1 EXPRESSION2 ... EXPRESSIONn)`  
Termasuk dokumen jika cocok dengan salah satu ekspresi yang ditentukan. (`OR`Operator Boolean.) Ekspresi dapat berisi salah satu operator kueri terstruktur, atau string pencarian sederhana. String pencarian harus dilampirkan dalam tanda kutip tunggal.  
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(or actors:'Alec Guinness' actors:'Harrison Ford' actors:'James Earl Jones')
```

phrase   
Sintaks: `(phrase field=FIELD boost=N 'STRING')`  
Mencari `text` atau `text-array` bidang untuk frasa yang ditentukan. Jika Anda menghilangkan `field` opsi, Amazon CloudSearch mencari semua yang dikonfigurasi secara statis `text` dan `text-array` bidang secara default. Bidang dan `literal` bidang dinamis tidak dicari secara default. Anda dapat menentukan bidang mana yang ingin Anda cari secara default dengan menentukan `q.options` `fields` opsi.   
Gunakan `phrase` operator untuk menggabungkan pencarian frase dengan kriteria penelusuran lainnya dalam kueri terstruktur. Misalnya `q=(and (term field=title 'star') (range field=year {,2000]))` cocok dengan semua dokumen yang berisi *bintang* di bidang judul dan memiliki nilai tahun kurang dari atau sama dengan 2000.   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(phrase field=plot 'teenage girl')
```

prefix   
Sintaks: `(prefix field=FIELD boost=N 'STRING')`  
Mencari`text`,, `text-array``literal`, atau `literal-array` bidang untuk awalan yang ditentukan diikuti oleh nol atau lebih karakter. Jika Anda menghilangkan `field` opsi, Amazon CloudSearch mencari semua yang dikonfigurasi secara statis `text` dan `text-array` bidang secara default. Bidang dan `literal` bidang dinamis tidak dicari secara default. Anda dapat menentukan bidang mana yang ingin Anda cari secara default dengan menentukan `q.options` `fields` opsi.   
Gunakan `prefix` operator untuk menggabungkan penelusuran awalan dengan kriteria penelusuran lainnya dalam kueri terstruktur. Misalnya, `q=(and (prefix field=title 'sta') (range field=year {,2000]))` mencocokkan semua dokumen yang berisi awalan *sta* di bidang judul dan memiliki nilai tahun kurang dari atau sama dengan 2000.   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Untuk menerapkan saran penelusuran, Anda harus mengonfigurasi dan meminta sugester, daripada melakukan pencarian awalan. Untuk mengetahui informasi selengkapnya, lihat [Permintaan Saran](#suggest-request).
Contoh:   

```
(prefix field=title 'star')
```

range  
Sintaks: `(range field=FIELD boost=N RANGE)`  
Mencari bidang numerik (double, double-array, int, int-array) atau bidang tanggal (tanggal, tanggal-array) untuk nilai dalam rentang yang ditentukan. Cocokkan dokumen yang memiliki setidaknya satu nilai di bidang dalam rentang yang ditentukan. `field`Opsi harus ditentukan.  
Gunakan `range` operator untuk menggabungkan pencarian rentang dengan kriteria penelusuran lainnya dalam kueri terstruktur. Misalnya `q=(and (term field=title 'star') (range field=year {,2000]))` cocok dengan semua dokumen yang berisi *bintang* di bidang judul dan memiliki nilai tahun kurang dari atau sama dengan 2000.   
 Untuk menentukan rentang nilai, gunakan koma (,) untuk memisahkan batas atas dan bawah dan lampirkan rentang menggunakan tanda kurung atau tanda kurung. Braket persegi, [atau], menunjukkan bahwa ikatan termasuk dalam rentang, penjepit keriting, \$1atau\$1, tidak termasuk batas. Anda dapat menghilangkan batas atas atau bawah untuk menentukan rentang terbuka. Saat menghilangkan ikatan, Anda harus menggunakan penjepit keriting.   
 Tanggal dan waktu ditentukan dalam UTC (Coordinated Universal Time) menurut [ RFC3339IETF](http://tools.ietf.org/html/rfc3339):. `yyyy-mm-ddTHH:mm:ss.SSSZ` Di UTC, misalnya, 17:00 23 Agustus 1970 adalah:. `1970-08-23T17:00:00Z` Perhatikan bahwa Anda juga dapat menentukan detik pecahan saat menentukan waktu di UTC. Sebagai contoh, `1967-01-31T23:20:50.650Z.`.   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(range field=year [1990,2000])
(range field=year {,2000])
(range field=year [1990,})
```

term  
Sintaks: `(term field=FIELD boost=N 'STRING'|VALUE) `  
Mencari bidang tertentu untuk string, nilai numerik, atau tanggal. `field`Opsi harus ditentukan saat mencari nilai. Jika Anda menghilangkan `field` opsi, Amazon CloudSearch mencari semua yang dikonfigurasi secara statis `text` dan `text-array` bidang secara default. Bidang dan `literal` bidang dinamis tidak dicari secara default. Anda dapat menentukan bidang mana yang ingin Anda cari secara default dengan menentukan `q.options` `fields` opsi.   
Gunakan `term` operator untuk menggabungkan pencarian istilah dengan kriteria penelusuran lainnya dalam kueri terstruktur. Misalnya, `q=(and (term field=title 'star') (range field=year {,2000]))` cocok dengan semua dokumen yang berisi *bintang* di bidang judul dan memiliki nilai tahun kurang dari atau sama dengan 2000.   
String dan tanggal harus dilampirkan dalam tanda kutip tunggal. Setiap tanda kutip tunggal atau garis miring terbalik dalam string harus lolos dengan garis miring terbalik.   
 Tanggal dan waktu ditentukan dalam UTC (Coordinated Universal Time) menurut [ RFC3339IETF](http://tools.ietf.org/html/rfc3339):. `yyyy-mm-ddTHH:mm:ss.SSSZ` Di UTC, misalnya, 17:00 23 Agustus 1970 adalah:. `1970-08-23T17:00:00Z` Perhatikan bahwa Anda juga dapat menentukan detik pecahan saat menentukan waktu di UTC. Sebagai contoh, `1967-01-31T23:20:50.650Z.`.   
 Nilai boost adalah nilai numerik positif yang meningkatkan pentingnya bagian kueri penelusuran ini relatif terhadap bagian lain.   
Contoh:   

```
(term field=title 'star')
(term field=year 2000)
```

#### Sintaks Pencarian Sederhana
<a name="simple-search-syntax"></a>

Anda menggunakan sintaks penelusuran CloudSearch sederhana Amazon untuk menentukan kriteria penelusuran saat menggunakan parser `simple` kueri. Parser query sederhana digunakan secara default jika Anda tidak menentukan `q.parser` parameter. 

Anda menggunakan parser kueri sederhana untuk mencari istilah atau frasa individual. Secara default, semua dikonfigurasi secara statis `text` dan `text-array` bidang dicari. Bidang dan `literal` bidang dinamis *tidak* dicari secara default. Anda dapat menggunakan `q.options` parameter untuk menentukan bidang mana yang ingin Anda cari, mengubah operator default yang digunakan untuk menggabungkan istilah individual dalam string pencarian, atau menonaktifkan salah satu operator parser sederhana (`and`,`escape`,`fuzzy`,`near`,`not`,`or`,`phrase`, `precedence``prefix`,`whitespace`).

Untuk informasi selengkapnya tentang menggunakan parser kueri sederhana, lihat[Mencari Teks di Amazon CloudSearch](searching-text.md).

\$1 (and)  
Sintaks: `+TERM`  
Membutuhkan istilah yang ditentukan. Untuk mencocokkan, dokumen harus berisi istilah yang ditentukan.  
Contoh: \$1bintang

\$1 (escape)  
Sintaks: `\CHAR`  
Melarikan diri dari karakter khusus yang ingin Anda cari. Anda harus melarikan diri dari karakter berikut jika Anda ingin mereka menjadi bagian dari kueri: \$1 - & \$1\$1 () \$1\$1 [] ^ "\$1 \$1? :\$1 /.  
Contoh: `M\*A\*S\*H`

\$1 (fuzzy)  
Sintaks: `TERM~N`  
Melakukan pencarian fuzzy. Tambahkan operator \$1 dan nilai ke istilah untuk menunjukkan berapa banyak istilah yang dapat berbeda dan masih dianggap cocok.   
Contoh: `stor~1`

\$1 (near)  
Sintaks: `"PHRASE"~N`  
Melakukan pencarian frase ceroboh. Tambahkan operator \$1 dan nilai ke frasa untuk menunjukkan seberapa jauh jarak istilah tersebut dan masih dianggap cocok untuk frasa tersebut.   
Contoh: `"star wars"~4`

- (not)  
Sintaks: `-TERM`  
Melarang istilah yang ditentukan. Untuk mencocokkan, dokumen tidak boleh mengandung istilah.   
Contoh: star -wars

\$1 (or)  
Sintaks: `|TERM`  
Membuat istilah yang ditentukan opsional.   
Contoh: star \$1wars

"..." (phrase)  
Sintaks: `"PHRASE"`  
Melakukan pencarian untuk seluruh frasa. Dapat dikombinasikan dengan `~` operator untuk melakukan pencarian frase ceroboh.   
Contoh: “perang bintang”

(...) (precedence)  
Sintaks: `(...)`  
Mengontrol urutan di mana kendala kueri dievaluasi. Isi tanda kurung paling dalam dievaluasi terlebih dahulu.   
Contoh: `+(war|trek)+star`

\$1 (prefix)  
Sintaks: `CHARS*`  
Cocokkan dokumen yang berisi istilah yang memiliki awalan yang ditentukan.   
Contoh: `sta*`

### Respon Pencarian
<a name="search-response"></a>

Ketika permintaan berhasil diselesaikan, badan respons berisi hasil pencarian. Secara default, hasil pencarian dikembalikan dalam JSON. Jika `format` parameter diatur ke`xml`, hasil pencarian dikembalikan dalam XHTML. 

Kecuali Anda secara eksplisit menentukan `return` parameter, ID dokumen dan semua bidang yang dapat dikembalikan disertakan untuk setiap dokumen yang cocok (hit). Respons juga menunjukkan jumlah total hit found (`found`) dan indeks dokumen pertama yang terdaftar (`start`). Secara default, respons berisi 10 klik pertama. Anda menentukan `size` parameter dalam permintaan Anda untuk mengontrol berapa banyak klik yang disertakan dalam setiap respons. Untuk halaman melalui hits, Anda dapat menggunakan `cursor` parameter `start` or. Untuk informasi selengkapnya, lihat [Hasil Paginating](paginating-results.md).

Contoh berikut menunjukkan respons JSON yang khas.

```
{
    "status": {
        "rid": "rtKz7rkoeAojlvk=",
        "time-ms": 10
    },
    "hits": {
        "found": 3,
        "start": 0,
        "hit": [
            {
                "id": "tt1142977",
                "fields": {
                    "rating": "6.9",
                    "genres": [
                        "Animation",
                        "Comedy",
                        "Family",
                        "Horror",
                        "Sci-Fi"
                    ],
                    "plot": "Young Victor conducts a science experiment to  
                             bring his beloved dog Sparky back to life, only
                              to face unintended, sometimes monstrous, 
                              consequences.",
                    "release_date": "2012-09-20T00:00:00Z",
                    "title": "Frankenweenie",
                    "rank": "1462",
                    "running_time_secs": "5220",
                    "directors": [
                        "Tim Burton"
                    ],
                    "image_url": "http://ia.media-imdb.com/images/M/MV5BMjIx
                                  ODY3MjEwNV5BMl5BanBnXkFtZTcwOTMzNjc4Nw@@._
                                  V1_SX400_.jpg",
                    "year": "2012",
                    "actors": [
                        "Winona Ryder",
                        "Catherine O'Hara",
                        "Martin Short"
                    ]
                }
            },
			.
			.
			.
        ]			
    }
}
```

Contoh berikut menunjukkan respon XMLnya setara.

```
<results>
    <status rid="itzL7rkoeQojlvk=" time-ms="34"/>
    <hits found="3" start="0">
        <hit id="tt1142977">
            <field name="rating">6.9</field>
            <field name="genres">Animation</field>
            <field name="genres">Comedy</field>
            <field name="genres">Family</field>
            <field name="genres">Horror</field>
            <field name="genres">Sci-Fi</field>
            <field name="plot">Young Victor conducts a science experiment to
                               bring his beloved dog Sparky back to life, only
                               to face unintended, sometimes monstrous, 
                               consequences.
            </field>
            <field name="release_date">2012-09-20T00:00:00Z</field>
            <field name="title">Frankenweenie</field>
            <field name="rank">1462</field>
            <field name="running_time_secs">5220</field>
            <field name="directors">Tim Burton</field>
            <field name="image_url">http://ia.media-imdb.com/images/M/MV5BMjI
                                    xODY3MjEwNV5BMl5BanBnXkFtZTcwOTMzNjc4Nw@@.
                                    _V1_SX400_.jpg
            </field>
            <field name="year">2012</field>
            <field name="actors">Winona Ryder</field>
            <field name="actors">Catherine O'Hara</field>
            <field name="actors">Martin Short</field>
        </hit>
        .
        .
        .
    </hits>
</results>
```

 Menyetel format respons hanya memengaruhi respons terhadap permintaan yang berhasil. Format respons kesalahan tergantung pada asal kesalahan. Kesalahan yang dikembalikan oleh layanan pencarian selalu dikembalikan di JSON. Kesalahan 5xx karena batas waktu server dan masalah perutean permintaan lainnya dikembalikan dalam XHTML. Ketika permintaan mengembalikan kode kesalahan, isi respons berisi informasi tentang kesalahan yang terjadi. Jika terjadi kesalahan saat badan permintaan diurai dan divalidasi, kode kesalahan diatur ke 400 dan badan respons menyertakan daftar kesalahan dan di mana mereka terjadi. 

#### Cari Header Respons
<a name="search-response-headers"></a>

Content-Type  
Tipe MIME standar yang menjelaskan format data objek. Untuk informasi lebih lanjut, lihat [W3C RFC 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17) Bagian 14.  
Nilai yang valid: application/json atau application/xml   
Default: application/json 

Content-Length  
Panjang byte tubuh dalam respons.

#### Cari Properti Respon (JSON)
<a name="search-response-elements-json"></a>

status  
Berisi id sumber daya (rid) dan waktu yang dibutuhkan untuk memproses permintaan (time-ms).    
rid  
ID Sumber Daya terenkripsi.  
time-ms  
Berapa lama waktu yang dibutuhkan untuk memproses permintaan pencarian dalam milidetik.

hits  
Berisi jumlah dokumen yang cocok (`found`), indeks dokumen pertama yang disertakan dalam response (`start`), dan array (`hit`) yang mencantumkan dokumen IDs dan data untuk setiap hit.     
found  
Jumlah total klik yang cocok dengan permintaan pencarian setelah Amazon CloudSearch selesai memproses permintaan.   
start  
Indeks hit pertama kembali dalam respons ini.   
hit  
Array yang mencantumkan dokumen IDs dan data untuk setiap hit.     
id  
Pengidentifikasi unik untuk dokumen.   
fields  
Daftar bidang yang dikembalikan.   
facets  
Berisi informasi faset dan jumlah faset.   
FACETFIELD  
Bidang yang aspeknya dihitung.   
buckets  
Array dari nilai dan hitungan faset yang dihitung.  
value  
Nilai faset dihitung.  
count  
Jumlah hit yang berisi nilai faset di`FACETFIELD`. 

#### Elemen Respon Pencarian (XHTML)
<a name="search-response-elements-xml"></a>

results  
Berisi hasil pencarian. Setiap kesalahan yang terjadi saat memproses permintaan dikembalikan sebagai pesan dalam elemen info.    
status  
Berisi id sumber daya (`rid`) dan waktu yang dibutuhkan untuk memproses request (`time-ms`).  
hits  
Berisi statistik hit dan kumpulan elemen hit. Atribut yang ditemukan adalah jumlah total klik yang cocok dengan permintaan pencarian setelah Amazon CloudSearch selesai memproses hasilnya. Elemen hit yang terkandung diurutkan sesuai dengan skor relevansinya atau `sort` opsi yang ditentukan dalam permintaan pencarian.     
hit  
Dokumen yang cocok dengan permintaan pencarian. Atribut id adalah id unik dokumen. Berisi elemen `d` (data) untuk setiap bidang yang dikembalikan.    
field  
Sebuah lapangan kembali dari pukulan. Elemen hit berisi elemen `d` (data) untuk setiap bidang yang dikembalikan.   
facets  
Berisi elemen faset untuk setiap aspek yang diminta dalam permintaan pencarian.    
facet  
Berisi elemen bucket untuk setiap nilai bidang yang dihitung hitungan fasetnya. Opsi `facet.FIELD` ukuran dapat digunakan untuk menentukan berapa banyak kendala yang akan dikembalikan. Secara default, jumlah faset dikembalikan untuk 10 batasan teratas. Opsi `facet.FIELD` bucket dapat digunakan untuk secara eksplisit menentukan nilai mana yang akan dihitung.     
bucket  
Nilai bidang facet dan jumlah kemunculan (hitungan) dari nilai tersebut dalam hit pencarian.

## Mengirimkan Permintaan Saran di Amazon CloudSearch
<a name="submitting-suggest-requests"></a>

Anda mengirimkan permintaan saran melalui HTTP GET ke titik akhir pencarian domain Anda di`2013-01-01/suggest`. Untuk informasi tentang mengontrol akses ke layanan saran, lihat[Mengkonfigurasi Akses untuk Amazon CloudSearch](configuring-access.md).

Anda harus menentukan versi API di semua permintaan saran dan versi tersebut harus cocok dengan versi API yang ditentukan saat domain dibuat.

Misalnya, permintaan berikut mendapat saran dari `search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.amazonaws.com` domain untuk string kueri `oce` menggunakan sugester yang dipanggil`title`. 

```
http://search-imdb-hd6ebyouhw2lczkueyuqksnuzu.us-west-2.cloudsearch.amazonaws.com/2013-01-01/suggest -d"q=oce&suggester=suggest_title"
```

Anda dapat menggunakan metode apa pun yang ingin Anda kirim permintaan GET ke titik akhir pencarian domain Anda—Anda dapat memasukkan URL permintaan secara langsung di browser Web, menggunakan cURL untuk mengirimkan permintaan, atau membuat panggilan HTTP menggunakan pustaka HTTP favorit Anda. Anda juga dapat menggunakan Search Tester di CloudSearch konsol Amazon untuk mendapatkan saran. Untuk informasi selengkapnya, lihat [Mencari dengan Search Tester](getting-started-search.md#searching-console).

**penting**  
Dokumen domain dan titik akhir pencarian tetap sama untuk masa pakai domain. Anda harus men-cache titik akhir daripada mengambilnya sebelum setiap permintaan unggahan atau pencarian. Menanyakan layanan CloudSearch konfigurasi Amazon dengan menelepon `aws cloudsearch describe-domains` atau `DescribeDomains` sebelum setiap permintaan kemungkinan akan mengakibatkan permintaan Anda dibatasi. 

Secara default, Amazon CloudSearch mengembalikan respons di JSON. Anda bisa mendapatkan hasil yang diformat dalam XHTML dengan menentukan parameter,`format`. `format=xml` Menyetel format respons hanya memengaruhi respons terhadap permintaan yang berhasil. Format respons kesalahan tergantung pada asal kesalahan. Kesalahan yang dikembalikan oleh layanan pencarian selalu dikembalikan di JSON. Kesalahan 5xx karena batas waktu server dan masalah perutean permintaan lainnya dikembalikan dalam XHTML.

## Sarankan
<a name="suggest"></a>

### Permintaan Saran
<a name="suggest-request"></a>

#### Sarankan Sintaks di Amazon CloudSearch
<a name="suggest-syntax"></a>

```
GET /2013-01-01/suggest
```

#### Sarankan Header Permintaan di Amazon CloudSearch
<a name="suggest-request-headers"></a>

HOST  
Titik akhir permintaan pencarian untuk domain yang Anda kueri. Anda dapat menggunakan [DescribeDomains](API_DescribeDomains.md) untuk mengambil titik akhir permintaan pencarian domain Anda.   
Wajib: Ya

#### Sarankan Parameter Permintaan di Amazon CloudSearch
<a name="suggest-request-parameters"></a>

q  
String untuk mendapatkan saran untuk.  
Tipe: String  
Diperlukan: Ya

suggester  
Nama sugester untuk digunakan untuk menemukan kecocokan yang disarankan.  
Tipe: String  
Diperlukan: Ya

size   
Jumlah maksimum saran untuk dikembalikan.   
Tipe: Bilangan bulat positif  
Default: 10  
Wajib: Tidak

format  
Menentukan jenis konten respon.   
Tipe: String  
Nilai yang Valid: json\$1xml\$1  
Default: json  
Wajib: Tidak

### Sarankan Tanggapan
<a name="suggest-response"></a>

Ketika permintaan berhasil diselesaikan, badan respons berisi saran. Secara default, saran dikembalikan dalam JSON. Atur `format` parameter `xml` untuk mendapatkan hasil dalam XHTML.

 Menyetel format respons hanya memengaruhi respons terhadap permintaan yang berhasil. Format respons kesalahan tergantung pada asal kesalahan. Kesalahan yang dikembalikan oleh layanan pencarian selalu dikembalikan di JSON. Kesalahan 5xx karena batas waktu server dan masalah perutean permintaan lainnya dikembalikan dalam XHTML. Ketika permintaan mengembalikan kode kesalahan, isi respons berisi informasi tentang kesalahan yang terjadi. Jika terjadi kesalahan saat badan permintaan diurai dan divalidasi, kode kesalahan diatur ke 400 dan badan respons menyertakan daftar kesalahan dan di mana mereka terjadi. 

Contoh berikut menunjukkan respons JSON terhadap permintaan saran:

```
{
   "status": {
      "rid": "qOSM5s0oCwr8pVk=",
      "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"
         }
      ]
   }
}
```

Contoh berikut menunjukkan respon XMLnya setara:

```
<results>
   <status rid="/pSz580oDQr8pVk=" time-ms="2"/>
   <suggest query="oce" found="3">
      <suggestions>
         <item suggestion="Ocean's Eleven" score="0" id="tt0054135"/>
         <item suggestion="Ocean's Thirteen" score="0" id="tt0496806"/>
         <item suggestion="Ocean's Twelve" score="0" id="tt0349903"/>
      </suggestions>
   </suggest>
</results>
```

## Kesalahan Layanan Pencarian
<a name="search-service-errors"></a>

Permintaan pencarian atau saran dapat mengembalikan tiga jenis kode status:
+ Kode status 5xx menunjukkan bahwa ada kesalahan server internal. Anda harus menangkap dan mencoba kembali semua kode kesalahan 5xx karena biasanya mewakili kondisi kesalahan sementara. Untuk informasi selengkapnya, lihat [Penanganan Kesalahan](error-handling.md). 
+ Kode status 4xx menunjukkan bahwa permintaan itu salah bentuk. Perbaiki kesalahan sebelum mengirimkan kembali permintaan Anda.
+ Kode status 2xx menunjukkan bahwa permintaan berhasil diproses.

Format respons kesalahan tergantung pada asal kesalahan. Kesalahan yang dikembalikan oleh layanan pencarian selalu dikembalikan di JSON. Kesalahan 5xx karena batas waktu server dan masalah perutean permintaan lainnya dikembalikan dalam XHTML. 

Kesalahan yang dikembalikan oleh layanan pencarian berisi informasi berikut:

error  
Berisi pesan kesalahan yang dikembalikan oleh layanan pencarian. `msg`Properti `code` dan disertakan untuk setiap kesalahan.

code  
Kode kesalahan.

msg  
Deskripsi kesalahan yang dikembalikan oleh layanan pencarian.