Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membangun Kueri Senyawa di Amazon CloudSearch
Anda dapat menggunakan parser kueri terstruktur untuk menggabungkan ekspresi kecocokan menggunakan Booleanand
,or
, dan not
operator. Untuk memilih parser kueri terstruktur, Anda menyertakan q.parser=structured
dalam kueri Anda. Operator kueri terstruktur ditentukan sebagai operator awalan. Sintaksnya adalah:
(and boost=N EXPRESSION1 EXPRESSION2 ... EXPRESSIONn)
(or boost=N EXPRESSION1 EXPRESSION2 ... EXPRESSIONn)
(not boost=N EXPRESSION)
Misalnya, kueri berikut cocok dengan semua film dalam kumpulan data sampel yang berisi bintang dalam judul, dan Harrison Ford atau William Shatner muncul di actors
lapangan, tetapi Zachary Quinto tidak.
(and title:'star' (or actors:'Harrison Ford' actors:'William Shatner')(not actors:'Zachary Quinto'))
Saat menggunakan operator kueri terstruktur, Anda menentukan nama operator, opsi untuk operator, dan kemudian ekspresi kecocokan yang dioperasikan,(OPERATOR OPTIONS EXPRESSION)
. Ekspresi pencocokan dapat berupa string teks sederhana, atau subklausa dari kueri majemuk Anda. Opsi apa pun harus ditentukan sebelum persyaratan. Misalnya, (and (not field=genres 'Sci-Fi')(or (term field=title boost=2 'star')(term field=plot 'star')))
.
Tanda kurung mengontrol urutan evaluasi ekspresi. Ketika ekspresi diapit dalam tanda kurung, ekspresi itu dievaluasi terlebih dahulu, dan kemudian nilai yang dihasilkan digunakan dalam evaluasi sisa kueri majemuk.
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.
Misalnya, kueri berikut mencari title
bidang untuk frasa star wars
dan mengecualikan kecocokan yang memiliki nilai kurang dari 2000 di year
bidang.
(and (phrase field='title' 'star wars') (not (range field=year {,2000})))
Untuk mengirimkan permintaan pencarian ini, Anda perlu menyandikan string kueri dan menentukan parser structured
kueri dengan parameter. q.parser
http://search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch. amazonaws.com/2013-01-01/search?q=(and+(phrase+field='title'+'star wars')+(not+(range+field%3Dyear+{,2000})))&q.parser=structured
Sintaks kueri terstruktur memungkinkan Anda untuk menggabungkan pencarian terhadap beberapa bidang. Jika Anda tidak menentukan bidang yang akan dicari, semua text
dan text-array
bidang akan dicari. Misalnya, kueri berikut mencari semua text
dan text-array
bidang untuk istilah bintang, dan mengecualikan dokumen yang berisi Zachary Quinto di bidang. actors
(and 'star' (not actors:'Zachary Quinto'))
Anda dapat menentukan boost
nilai untuk meningkatkan pentingnya satu ekspresi dalam kueri majemuk dalam kaitannya dengan yang lain. Nilai boost meningkatkan skor dokumen yang cocok. Misalnya, kueri berikut meningkatkan kecocokan untuk istilah bintang jika muncul di title
bidang, bukan di description
bidang.
(and (range field=year [2013,}) (or (term field=title boost=2 'star') (term field=plot 'star'))
Nilai boost harus lebih besar dari nol.
Selainand
,, dan or
not
, sintaks pencarian CloudSearch terstruktur Amazon mendukung beberapa operator khusus:
matchall
—Cocokkan setiap dokumen di domain. Sintaks:matchall
.near
—Mendukung kueri frase ceroboh.distance
Nilai menentukan jumlah maksimum kata yang dapat memisahkan kata-kata dalam frasa; misalnya,(near field='plot' distance=4 'naval mutiny demonstration')
. Gunakannear
operator untuk mengaktifkan pencocokan ketika istilah yang ditentukan berada dalam jarak dekat, tetapi tidak berdekatan. Untuk informasi selengkapnya tentang pencarian frase ceroboh, lihat. Mencari Frase Sintaks:(near field=FIELD distance=N boost=N 'STRING')
.phrase
—Mencari frasa ditext
atautext-array
bidang; misalnya,.(phrase field="title" 'teenage mutant ninja')
Mendukung peningkatan dokumen yang cocok dengan ekspresi. Untuk informasi selengkapnya tentang pencarian frasa, lihatMencari Frase. Sintaks:(phrase field=FIELD boost=N 'STRING')
.prefix
—Mencari bidang teks, teks-array, literal, atau array literal untuk awalan yang ditentukan diikuti oleh nol atau lebih karakter; misalnya,.(prefix field='title' 'wait')
Mendukung peningkatan dokumen yang cocok dengan ekspresi. Untuk informasi selengkapnya tentang penelusuran awalan, lihat Mencari Prefiks .Syntax:.(prefix field=FIELD boost=N 'STRING')
range
—Mencari rentang nilai dalam bidang numerik; misalnya:.(range field=year [2000,2013])
Untuk informasi selengkapnya tentang penelusuran rentang, lihatMencari Rentang Nilai. Sintaks:(range field=FIELD boost=N RANGE)
.term
—Mencari istilah atau nilai individu di bidang apa pun; misalnya:.(and (term field=title 'star')(term field=year 1977))
Sintaks:(term field=FIELD boost=N 'STRING'|VALUE)
.
Untuk informasi selengkapnya tentang mencari jenis data tertentu, lihat bagian berikut. Untuk informasi selengkapnya tentang sintaks penelusuran terstruktur, lihatSintaks Pencarian Terstruktur.