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
Anda dapat mencari bidang teks dan literal untuk string teks:
Text
dantext-array
bidang selalu dapat dicari. Anda dapat mencari istilah dan frasa individual. Pencarian di dalamtext
dantext-array
bidang tidak peka huruf besar/kecil.Literal
danliteral-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
. ID dokumen selalu dikembalikan dalam hasil pencarian.
Topik
Mencari Istilah Individu di Amazon CloudSearch
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. Misalnya: 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
. Mencarisearch?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
. Pencariansearch?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.
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
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 majemuk, 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.
Mencari String Literal di Amazon CloudSearch
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.
Anda dapat menggunakan bidang literal bersama dengan faset untuk memungkinkan pengguna menelusuri hasil sesuai dengan atribut faset. Untuk informasi lebih lanjut tentang faceting, lihatMendapatkan dan Menggunakan Informasi Facet di Amazon CloudSearch.
Mencari Awalan di Amazon CloudSearch
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, misalnyaprefix '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 gabungan, 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.
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 (*) atau prefix
operator, tidak ada stemming yang dilakukan pada awalan. Ini berarti bahwa pencarian awalan yang diakhiri tidak s
akan cocok dengan versi tunggal dari istilah tersebut. Ini bisa terjadi untuk istilah apa pun yang berakhirs
, bukan hanya jamak. Misalnya, jika Anda mencari actor
bidang dalam data film sampelAnders
, ada tiga film yang cocok. Jika Anda mencariAnder*
, Anda mendapatkan film-film itu serta beberapa lainnya. Namun, jika Anda mencari tidak Anders*
ada kecocokan. Ini karena istilah disimpan dalam indeks sebagaiander
, anders
tidak muncul dalam indeks. Untuk informasi selengkapnya tentang cara Amazon CloudSearch memproses teks dan bagaimana hal itu dapat memengaruhi penelusuran, lihatPemrosesan Teks di Amazon CloudSearch.