Mengirimkan Permintaan Pencarian ke Domain Amazon CloudSearch - Amazon CloudSearch

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

Mengirimkan Permintaan Pencarian ke Domain Amazon CloudSearch

Sebaiknya gunakan salah satu AWS SDK atau AWS CLI untuk mengirimkan permintaan pencarian. SDK dan AWS CLI menangani penandatanganan permintaan untuk Anda dan menyediakan cara mudah untuk melakukan semua CloudSearch tindakan Amazon. Anda juga dapat menggunakan Penguji Penelusuran di CloudSearch konsol Amazon untuk mencari data, menelusuri hasilnya, dan melihat URL permintaan yang dihasilkan serta respons JSON dan XHTML. Untuk informasi selengkapnya, lihat Mencari dengan Search Tester.

penting
  • Titik akhir penelusuran tidak berubah: Dokumen domain dan titik akhir penelusuran tetap sama selama 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.

  • Alamat IP memang berubah: Alamat IP domain Anda dapat berubah seiring waktu, jadi penting untuk men-cache titik akhir seperti yang ditunjukkan di konsol dan dikembalikan oleh aws cloudsearch describe-domains perintah daripada alamat IP. Anda juga harus menyelesaikan kembali DNS endpoint ke alamat IP secara teratur. Untuk informasi selengkapnya, lihat Mengatur TTL JVM untuk Pencarian Nama DNS.

Misalnya, permintaan berikut mengirimkan pencarian teks sederhana untuk wolverine menggunakan AWS CLI dan mengembalikan hanya ID dari dokumen yang cocok.

aws cloudsearchdomain --endpoint-url http://search-movies-y6gelr4lv3jeu4rvoelunxsl2e.us-east-1.cloudsearch.amazonaws.com search --search-query wolverine --return _no_fields { "status": { "rid": "/rnE+e4oCAqfEEs=", "time-ms": 6 }, "hits": { "found": 3, "hit": [ { "id": "tt1430132" }, { "id": "tt0458525" }, { "id": "tt1877832" } ], "start": 0 } }

Secara default, Amazon CloudSearch mengembalikan respons di JSON. Anda bisa mendapatkan hasil yang diformat dalam XMLdengan menentukan parameter. format 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.

catatan

AWS SDK mengembalikan bidang sebagai array. Bidang nilai tunggal dikembalikan sebagai array dengan satu elemen, seperti:

"fields": { "plot": ["Katniss Everdeen reluctantly becomes the symbol of a mass rebellion against the autocratic Capitol."] }

Untuk tujuan pengembangan dan pengujian, Anda dapat mengizinkan akses anonim ke layanan pencarian domain Anda dan mengirimkan permintaan HTTP GET atau POST yang tidak ditandatangani langsung ke titik akhir pencarian domain Anda. Di lingkungan produksi, batasi akses ke domain Anda ke peran, grup, atau pengguna IAM tertentu dan kirimkan permintaan yang ditandatangani menggunakan AWS SDK atau. AWS CLI Untuk informasi tentang mengontrol akses untuk Amazon CloudSearch, lihatconfigure access policies. Untuk informasi selengkapnya tentang penandatanganan permintaan, lihat Menandatangani Permintaan AWS API.

Anda dapat menggunakan metode apa pun yang ingin Anda kirim permintaan HTTP langsung 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. Untuk menentukan kriteria penelusuran, Anda menentukan string kueri yang menentukan batasan untuk pencarian Anda dan apa yang ingin Anda dapatkan kembali dalam respons. String kueri harus dikodekan URL. Ukuran maksimum permintaan pencarian yang dikirimkan melalui GET adalah 8190 byte, termasuk metode HTTP, URI, dan versi protokol. Anda dapat mengirimkan permintaan yang lebih besar menggunakan HTTP POST; Namun, perlu diingat bahwa permintaan yang besar dan kompleks membutuhkan waktu lebih lama untuk diproses dan lebih mungkin untuk habis waktu. Untuk informasi selengkapnya, lihat Menyetel Kinerja Permintaan Pencarian di Amazon CloudSearch.

Misalnya, permintaan berikut mengirimkan kueri terstruktur ke search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch.amazonaws.com domain dan mendapatkan isi title bidang.

http://search-movies-rr2f34ofg56xneuemujamut52i.us-east-1.cloudsearch. amazonaws.com/2013-01-01/search?q=(and+(term+field%3Dtitle+'star') (term+field%3Dyear+1977))&q.parser=structured&return=title
penting

Karakter khusus dalam string kueri harus dikodekan URL. Misalnya, Anda harus menyandikan = operator dalam kueri terstruktur sebagai%3D:(term+field%3Dtitle+'star'). Jika Anda tidak menyandikan karakter khusus saat mengirimkan permintaan pencarian, Anda akan mendapatkan InvalidQueryString kesalahan.