

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

# Mencari Teks di Amazon CloudSearch
<a name="searching-text"></a>

Anda dapat mencari bidang teks dan literal untuk string teks: 
+ `Text`dan `text-array` bidang selalu dapat dicari. Anda dapat mencari istilah dan frasa individual. Pencarian di dalam `text` dan `text-array` bidang tidak peka huruf besar/kecil.
+ `Literal`dan `literal-array` bidang hanya dapat dicari jika pencarian diaktifkan di opsi pengindeksan domain. Anda dapat mencari kecocokan yang tepat dari string pencarian Anda. Pencarian di bidang literal peka huruf besar/kecil.

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

Anda dapat mencari bidang ID dokumen unik seperti bidang teks apa pun. Untuk mereferensikan bidang ID dokumen dalam permintaan pencarian, Anda menggunakan nama bidang`_id`. Dokumen IDs selalu dikembalikan dalam hasil pencarian. 

**Topics**
+ [Mencari Istilah Individu di Amazon CloudSearch](#searching-text-terms)
+ [Mencari Frasa di Amazon CloudSearch](#searching-text-phrases)
+ [Mencari String Literal di Amazon CloudSearch](#searching-text-literals)
+ [Mencari Awalan di Amazon CloudSearch](#searching-text-prefixes)

## Mencari Istilah Individu di Amazon CloudSearch
<a name="searching-text-terms"></a>

Saat Anda mencari `text` dan `text-array` bidang untuk istilah individual, Amazon CloudSearch menemukan semua dokumen yang berisi istilah pencarian di mana saja dalam bidang yang ditentukan, dalam urutan apa pun. Misalnya, dalam data film sampel, `title` bidang dikonfigurasi sebagai `text` bidang. Jika Anda mencari `title` bidang untuk *bintang*, Anda akan menemukan semua film yang berisi *bintang* di mana saja di `title` lapangan, seperti *bintang**, perang bintang*, dan *bintang lahir*. Ini berbeda dari `literal` bidang pencarian, di mana nilai bidang harus identik dengan string pencarian untuk dianggap cocok. 

Parser `simple` kueri menyediakan cara mudah untuk mencari `text` dan `text-array` bidang untuk satu atau lebih istilah. Parser `simple` kueri digunakan secara default kecuali Anda menggunakan `q.parser` parameter untuk menentukan parser kueri yang berbeda. 

Misalnya, untuk mencari *katniss*, tentukan `katniss` dalam string kueri. Secara default, Amazon CloudSearch menyertakan semua bidang yang diaktifkan kembali dalam hasil pencarian. Anda dapat menentukan `return` parameter untuk menentukan bidang mana yang ingin Anda kembalikan.

```
https://search-domainname-domainid.us-east-1.cloudsearch.amazonaws.com/
2013-01-01/search?q=katniss&return=title
```

Secara default, respons dikembalikan di JSON:

```
{
    "status": {
        "rid": "rd+5+r0oMAo6swY=",
        "time-ms": 9
    },
    "hits": {
        "found": 3,
        "start": 0,
        "hit": [
            {
                "id": "tt1951265",
                "fields": {
                    "title": "The Hunger Games: Mockingjay - Part 1"
                }
            },
            {
                "id": "tt1951264",
                "fields": {
                    "title": "The Hunger Games: Catching Fire"
                }
            },
            {
                "id": "tt1392170",
                "fields": {
                    "title": "The Hunger Games"
                }
            }
        ]
    }
}
```

Untuk menentukan beberapa istilah, pisahkan istilah dengan spasi. Sebagai contoh: `star wars`. Saat Anda menentukan beberapa istilah penelusuran, secara default dokumen harus berisi semua istilah yang akan dianggap cocok. Istilah dapat terjadi di mana saja dalam bidang teks, dalam urutan apa pun. 

Secara default, semua `text` dan `text-array` bidang dicari saat Anda menggunakan parser kueri sederhana. Anda dapat menentukan bidang mana yang ingin Anda cari dengan menentukan `q.options` parameter. Misalnya, kueri ini membatasi pencarian ke `description` bidang `title` dan dan meningkatkan pentingnya kecocokan di bidang dibandingkan kecocokan di `title` bidang. `description`

```
q=star wars&q.options={fields: ['title^5','description']}
```

Bila Anda menggunakan parser kueri sederhana, Anda dapat menggunakan awalan berikut untuk menunjuk istilah individual seperti yang diperlukan, opsional, atau untuk dikecualikan dari hasil pencarian: 
+ **`+`**—dokumen yang cocok harus berisi istilah. Ini adalah default—memisahkan istilah dengan spasi sama dengan mendahuluinya dengan awalan. `+`
+ **`-`**— kecualikan dokumen yang berisi istilah dari hasil pencarian. `-`Operator hanya berlaku untuk persyaratan individual. Misalnya, untuk mengecualikan dokumen yang berisi istilah *bintang* di bidang pencarian default, tentukan:`-star`. Mencari `search?q=-star wars` mengambil semua dokumen yang tidak mengandung istilah *bintang*, tetapi mengandung istilah *perang*. 
+ **`|`**— termasuk dokumen yang berisi istilah dalam hasil pencarian, bahkan jika mereka tidak mengandung istilah lain. `|`Operator hanya berlaku untuk persyaratan individual. Misalnya, untuk menyertakan dokumen yang berisi salah satu dari dua istilah, tentukan:`term1 |term2`. Pencarian `search?q=star wars |trek` termasuk dokumen yang berisi *bintang* dan *perang*, atau istilah *perjalanan*.

Awalan ini hanya berlaku untuk istilah individual dalam kueri sederhana. Untuk membuat kueri majemuk, Anda perlu menggunakan parser kueri terstruktur, bukan parser kueri sederhana. Misalnya, untuk mencari istilah *star* dan *wars* menggunakan parser kueri terstruktur, Anda akan menentukan:

```
(and 'star' 'wars')
```

Perhatikan bahwa kueri ini cocok dengan dokumen yang berisi setiap istilah di salah satu bidang yang dicari. Persyaratan tidak harus berada di bidang yang sama untuk dianggap cocok. Namun, jika Anda menentukan`(and 'star wars' 'luke')`, *bintang* dan *perang* harus terjadi dalam bidang yang sama, dan *luke* dapat terjadi di salah satu bidang.

Jika Anda tidak menentukan bidang apa pun saat menggunakan parser `structured` kueri, semua `text` dan `text-array` bidang dicari secara default, sama seperti dengan parser. `simple` Demikian pula, Anda dapat menggunakan `q.options` parameter untuk mengontrol bidang mana yang dicari dan untuk meningkatkan pentingnya bidang yang dipilih. Untuk informasi selengkapnya, lihat [Membangun Kueri Senyawa](searching-compound-queries.md).

Anda juga dapat melakukan pencarian *fuzzy* dengan parser kueri sederhana. Untuk melakukan pencarian fuzzy, tambahkan `~` operator dan nilai yang menunjukkan berapa banyak istilah dapat berbeda dari string kueri pengguna dan masih dianggap cocok. *Misalnya, `planit~1` penelusuran yang menentukan untuk istilah *planit* dan memungkinkan kecocokan berbeda hingga satu karakter, yang berarti hasilnya akan mencakup hit untuk planet.*

## Mencari Frasa di Amazon CloudSearch
<a name="searching-text-phrases"></a>

Saat Anda mencari frasa, Amazon CloudSearch menemukan semua dokumen yang berisi frasa lengkap dalam urutan yang ditentukan. Anda juga dapat melakukan pencarian frase *ceroboh* di mana istilah muncul dalam jarak yang ditentukan satu sama lain.

Untuk mencocokkan frasa lengkap daripada istilah individual dalam frasa saat Anda mencari dengan parser kueri sederhana, lampirkan frasa dalam tanda kueri ganda. Misalnya, kueri berikut mencari frasa *dengan cinta*.

```
q="with love"
```

Untuk melakukan pencarian frase ceroboh dengan parser kueri sederhana, tambahkan `~` operator dan nilai jarak. Nilai jarak menentukan jumlah maksimum kata yang dapat memisahkan kata-kata dalam frasa. Misalnya, kueri berikut mencari istilah *dengan cinta* dalam tiga kata satu sama lain. 

```
q="with love"~3
```

Dalam kueri gabungan, Anda menggunakan `phrase` operator untuk menentukan frasa yang ingin Anda cocokkan; misalnya:

```
(phrase field=title 'star wars')
```

Untuk melakukan pencarian frase ceroboh dalam kueri majemuk, Anda menggunakan `near` operator. `near`Operator memungkinkan Anda untuk menentukan frasa yang Anda cari dan seberapa jauh jarak istilah dapat berada dalam bidang dan masih dianggap cocok. Misalnya, kueri berikut cocok dengan dokumen yang memiliki istilah *bintang* dan *perang* tidak lebih dari tiga kata terpisah di `title` lapangan.

```
(near field=title distance=3 'star wars')
```

Untuk informasi selengkapnya, lihat [Membangun Kueri Senyawa](searching-compound-queries.md).

## Mencari String Literal di Amazon CloudSearch
<a name="searching-text-literals"></a>

Saat Anda mencari bidang literal untuk string, Amazon hanya CloudSearch mengembalikan dokumen yang berisi kecocokan persis untuk string pencarian lengkap di bidang yang ditentukan, termasuk kasus. Misalnya, jika `title` bidang dikonfigurasi sebagai bidang literal dan Anda mencari *Bintang*, nilai `title` bidang harus *Bintang* untuk dianggap cocok— *bintang*, *perang bintang*, dan *bintang lahir* tidak akan disertakan dalam hasil pencarian. Ini berbeda dari bidang teks, di mana pencarian tidak peka huruf besar/kecil dan istilah pencarian yang ditentukan dapat muncul di mana saja dalam bidang dalam urutan apa pun.

Untuk mencari bidang literal, awali string pencarian dengan nama bidang literal yang ingin Anda cari, diikuti dengan titik dua. String pencarian harus dilampirkan dalam tanda kutip tunggal. Misalnya, kueri berikut mencari string literal *Sci-Fi*.

```
genres:'Sci-Fi'
```

Contoh ini mencari bidang genre dari setiap dokumen dan mencocokkan semua dokumen yang bidang genrenya berisi nilai *Sci-Fi*. Untuk menjadi kecocokan, nilai bidang harus sama persis untuk string pencarian, termasuk kasus. Misalnya, dokumen yang berisi nilai *Sci-Fi* di bidang genre tidak akan disertakan dalam hasil pencarian jika Anda mencari *sci-fi atau sci-fi* *dewasa muda*.

Dalam kueri majemuk, Anda menggunakan sintaks `term` operator untuk mencari bidang literal. Misalnya, `(term field=genres 'Sci-Fi')`. Untuk informasi selengkapnya, lihat [Membangun Kueri Senyawa](searching-compound-queries.md).

Anda dapat menggunakan bidang literal bersama dengan faset untuk memungkinkan pengguna menelusuri hasil sesuai dengan atribut faset. Untuk informasi lebih lanjut tentang faceting, lihat[Mendapatkan dan Menggunakan Informasi Facet di Amazon CloudSearch](faceting.md).

## Mencari Awalan di Amazon CloudSearch
<a name="searching-text-prefixes"></a>

Anda dapat mencari `text``text-array`,`literal`,, dan `literal-array` bidang untuk *awalan* daripada istilah lengkap. Ini cocok dengan hasil yang berisi awalan diikuti oleh nol atau lebih karakter. Anda harus menentukan setidaknya satu karakter sebagai awalan. (Untuk mencocokkan semua dokumen, gunakan `matchall` operator dalam kueri terstruktur.) Secara umum, Anda harus menggunakan awalan yang berisi setidaknya dua karakter untuk menghindari pencocokan jumlah dokumen yang berlebihan.

Saat Anda mencari `text-array` bidang `text` atau, istilah yang cocok dengan awalan dapat muncul di mana saja di dalam konten bidang. Saat Anda mencari bidang literal, seluruh string pencarian, hingga dan termasuk karakter awalan, harus sama persis. 
+ Parser kueri sederhana—gunakan operator wildcard `*` (tanda bintang) untuk mencari awalan, misalnya. `pre*`
+ Parser kueri terstruktur—gunakan `prefix` operator untuk mencari awalan, misalnya `prefix 'pre'` 

Misalnya, kueri berikut mencari awalan *oce* di bidang judul dan mengembalikan judul setiap hit:

```
q=oce*&q.options={fields:['title']}&return=title
```

Jika Anda melakukan pencarian ini terhadap data sampel film, itu kembali sebagai *Ocean's Eleven dan Ocean's* *Twelve:* 

```
{

    "status": {
        "rid": "hIbIxb8oRAo6swY=",
        "time-ms": 2
    },
    "hits": {
        "found": 2,
        "start": 0,
        "hit": [
            {
                "id": "tt0240772",
                "fields": {
                    "title": "Ocean's Eleven"
                }
            },
            {
                "id": "tt0349903",
                "fields": {
                    "title": "Ocean's Twelve"
                }
            }
        ]
    }

}
```

Dalam kueri majemuk, Anda menggunakan `prefix` operator untuk mencari awalan. Misalnya, untuk mencari `title` bidang untuk awalan *oce*, Anda menentukan:

```
q.parser=structured&q=(prefix field%3Dtitle 'oce')
```

Perhatikan pengkodean URL. Untuk informasi selengkapnya, lihat [Membangun Kueri Senyawa](searching-compound-queries.md).

**catatan**  
Saat melakukan pencarian wildcard pada bidang teks, ingatlah bahwa Amazon CloudSearch memberi token pada bidang teks selama pengindeksan dan melakukan stemming sesuai dengan skema analisis yang dikonfigurasi untuk bidang tersebut. Biasanya, Amazon CloudSearch melakukan pemrosesan teks yang sama pada permintaan pencarian. Namun, saat Anda mencari awalan dengan operator wildcard (\$1) atau `prefix` operator, tidak ada stemming yang dilakukan pada awalan. Ini berarti bahwa pencarian awalan yang berakhir tidak `s` akan cocok dengan versi tunggal dari istilah tersebut. Ini bisa terjadi untuk istilah apa pun yang berakhir`s`, bukan hanya bentuk jamak. Misalnya, jika Anda mencari `actor` bidang dalam data film sampel`Anders`, ada tiga film yang cocok. Jika Anda mencari`Ander*`, Anda mendapatkan film-film itu serta beberapa lainnya. Namun, jika Anda mencari tidak `Anders*` ada kecocokan. Ini karena istilah disimpan dalam indeks sebagai`ander`, `anders` tidak muncul dalam indeks. Untuk informasi selengkapnya tentang cara Amazon CloudSearch memproses teks dan bagaimana hal itu dapat memengaruhi penelusuran, lihat[Pemrosesan Teks di Amazon CloudSearch](text-processing.md).