Mencari Teks di Amazon CloudSearch - Amazon CloudSearch

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:

  • Textdan 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.

  • Literaldan 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. ID dokumen selalu dikembalikan dalam hasil pencarian.

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. 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.

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. nearOperator 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 texttext-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 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.