Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan Masalah Amazon CloudSearch
Topik berikut menjelaskan solusi untuk masalah yang mungkin Anda temui saat menggunakan Amazon CloudSearch.
Topik
- Mengunggah Dokumen
- Menghapus Semua Dokumen di Domain Amazon CloudSearch
- CloudSearch Domain Amazon Tidak Menurun Setelah Menghapus Dokumen
- Latensi Pembaruan Dokumen
- Sejumlah Besar Kesalahan 5xx Saat Mengunggah Dokumen ke Domain Amazon CloudSearch
- Cari Latensi dan Timeout di Amazon CloudSearch
- Cari Latensi untuk Query Faceted di Amazon CloudSearch
- Peningkatan Tiba-tiba dalam Kesalahan 5xx Saat Mencari Domain Amazon CloudSearch
- Kegagalan Pengindeksan setelah Memperbarui Opsi Pengindeksan di Amazon CloudSearch
- Domain Tidak Ditemukan Saat Mengirimkan Permintaan Amazon CloudSearch
- Jumlah Dokumen yang Dapat Dicari yang Tidak Dikembalikan dengan Informasi Domain
- Kebijakan Akses Layanan Konfigurasi Tidak Berfungsi di Amazon CloudSearch
- Kebijakan Akses Layanan Pencarian dan Dokumen Tidak Berfungsi di Amazon CloudSearch
- Kesalahan Izin CloudSearch Konsol Amazon
- Menggunakan Wildcard untuk Mencari Bidang Teks Tidak Menghasilkan Hasil yang Diharapkan
- Hasil yang Tidak Konsisten Saat Menggunakan Kursor untuk Deep Paging
- Kesalahan Sertifikat Saat Menggunakan SDK
Mengunggah Dokumen
Jika data dokumen Anda tidak diformat dengan benar atau berisi nilai yang tidak valid, Anda akan mendapatkan kesalahan saat mencoba mengunggahnya atau menggunakannya untuk mengonfigurasi bidang untuk domain Anda. Berikut adalah beberapa masalah umum dan solusinya:
JSON tidak valid —jika Anda menggunakan JSON, hal pertama yang harus dilakukan adalah memastikan tidak ada kesalahan sintaks JSON dalam kumpulan dokumen Anda. Untuk melakukan itu, jalankan melalui alat validasi seperti JSON
Validator. Ini akan mengidentifikasi masalah mendasar apa pun dengan data. Batch XML-dokumen yang tidak valid harus XML-dibentuk dengan baik. Anda kemungkinan besar akan mengalami masalah jika bidang Anda berisi data XML—data harus dikodekan XML atau terlampir di bagian CDATA. Untuk mengidentifikasi masalah apa pun, jalankan batch dokumen Anda melalui alat validasi seperti Layanan Validasi Markup W3C
. Tidak Diakui sebagai Batch Dokumen —jika Amazon CloudSearch tidak mengenali data Anda sebagai kumpulan dokumen yang valid saat Anda mengunggah data menggunakan konsol, Amazon akan CloudSearch menghasilkan kumpulan valid yang berisi satu bidang konten dan bidang metadata umum seperti
content_encoding
,, dan.content_type
resourcename
Karena ini biasanya bukan bidang yang dikonfigurasi untuk domain, Anda mendapatkan kesalahan yang menyatakan bahwa bidang tersebut tidak ada. Demikian pula, jika Anda mencoba mengonfigurasi domain dari kumpulan yang tidak valid, Amazon CloudSearch merespons dengan bidang konten dan meta-data, bukan bidang dalam batch.Pertama, pastikan bahwa batch adalah XHTML atau JSON yang valid. Jika ya, periksa ID dokumen yang tidak valid dan pastikan Anda telah menentukan jenis operasi untuk setiap dokumen. Untuk menambahkan operasi, pastikan bahwa jenis, ID, dan setidaknya satu bidang ditentukan untuk setiap dokumen. Hapus operasi hanya perlu menentukan jenis dan ID. Untuk informasi selengkapnya tentang memformat data Anda, lihatCreating Document Batches.
ID dokumen dengan nilai buruk —ID dokumen dapat berisi huruf atau angka dan karakter berikut: _ - = #;:/? @ &. ID dokumen harus minimal 1 dan panjangnya tidak lebih dari 128 karakter.
Bidang multi-nilai tanpa nilai —saat menentukan data dokumen di JSON, Anda tidak dapat menentukan array kosong sebagai nilai bidang. Bidang multi-nilai harus berisi setidaknya satu nilai.
Karakter buruk — satu masalah yang bisa sulit dideteksi jika Anda tidak memfilter data Anda saat membuat batch dokumen Anda adalah yang dapat berisi karakter yang tidak valid dalam XML.2. Batch JSON dan XHTML hanya dapat berisi karakter UTF-8 yang valid dalam XML.2. Anda dapat menggunakan alat validasi seperti JSON Validator atau W3C Markup
Validation Service untuk mengidentifikasi karakter yang tidak valid.
Menghapus Semua Dokumen di Domain Amazon CloudSearch
Amazon CloudSearch saat ini tidak menyediakan mekanisme untuk menghapus semua dokumen dalam domain.
CloudSearch Domain Amazon Tidak Menurun Setelah Menghapus Dokumen
Jika domain Anda telah ditingkatkan untuk mengakomodasi ukuran indeks Anda dan Anda menghapus sejumlah besar dokumen, skala domain akan turun saat berikutnya indeks penuh dibangun kembali. Meskipun indeks secara otomatis dibangun kembali secara berkala, untuk menurunkan skala secepat mungkin Anda dapat secara eksplisit menjalankan pengindeksan ketika Anda selesai menghapus dokumen.
Latensi Pembaruan Dokumen
Mengirim sejumlah besar batch dokumen tunggal dapat meningkatkan jumlah waktu yang dibutuhkan setiap dokumen untuk dapat dicari. Jika Anda memiliki lalu lintas pembaruan dalam jumlah besar, Anda perlu mengumpulkan pembaruan Anda. Sebaiknya gunakan ukuran batch yang mendekati batas 5 MB. Untuk informasi selengkapnya, lihat Creating Document Batches.
Anda dapat memuat hingga 10.000 batch dokumen per hari (setiap 24 jam), dengan setiap ukuran batch hingga 5 MB. Memuat lebih banyak data per hari secara signifikan meningkatkan latensi pembaruan dokumen. Untuk mengurangi risiko ini, Anda dapat meningkatkan kapasitas pembaruan dengan memilih jenis instans yang lebih besar. Untuk informasi selengkapnya, lihat Mengkonfigurasi Opsi Penskalaan di Amazon CloudSearch.
Sejumlah Besar Kesalahan 5xx Saat Mengunggah Dokumen ke Domain Amazon CloudSearch
Jika Anda memparalelkan unggahan dan domain Anda berada di instance search.small, Anda mungkin mengalami tingkat kesalahan 504 atau 507 yang sangat tinggi. Menyetel jenis instans yang diinginkan ke jenis instans yang lebih besar akan meningkatkan kapasitas pembaruan Anda dan mengurangi tingkat kesalahan. Untuk informasi selengkapnya tentang penanganan kesalahan 5xx, lihatPenanganan Kesalahan. Untuk informasi tentang pra-skala domain Anda untuk meningkatkan kapasitas upload, lihat. Mengkonfigurasi Opsi Penskalaan di Amazon CloudSearch
Cari Latensi dan Timeout di Amazon CloudSearch
Jika Anda mengalami waktu respons yang lambat, sering mengalami kesalahan server internal (biasanya kesalahan 507 atau 509), atau melihat jumlah jam instans yang dikonsumsi domain pencarian Anda meningkat tanpa peningkatan substansional dalam volume data yang Anda cari, menyempurnakan permintaan pencarian Anda untuk mengurangi overhead pemrosesan dapat membantu. Untuk informasi selengkapnya, lihat Menyetel Kinerja Permintaan Pencarian di Amazon CloudSearch. Meningkatkan jumlah replikasi yang diinginkan juga dapat mempercepat pemrosesan permintaan pencarian. Untuk informasi selengkapnya, lihat Mengkonfigurasi Opsi Penskalaan di Amazon CloudSearch.
Kesalahan 507 dan 509 biasanya menunjukkan bahwa layanan pencarian Anda kelebihan beban. Hal ini dapat disebabkan oleh volume atau kompleksitas permintaan pencarian yang Anda kirimkan. Amazon CloudSearch biasanya menskalakan secara otomatis untuk menangani beban. Karena membutuhkan waktu untuk menerapkan instance penelusuran tambahan, sebaiknya gunakan kebijakan coba ulang backoff eksponensial untuk mengurangi tingkat permintaan sementara dan meminimalkan kegagalan permintaan. Untuk informasi selengkapnya, lihat Error Retries and Exponential Backoff.
Pola penggunaan tertentu, seperti mengirimkan kueri penelusuran yang kompleks ke satu contoh penelusuran kecil, terkadang dapat menghasilkan batas waktu tanpa memicu penskalaan otomatis. Jika Anda berulang kali mengalami tingkat kesalahan yang tinggi, Anda dapat secara eksplisit meminta kapasitas tambahan melalui formulir Permintaan Batas CloudSearch Layanan
Cari Latensi untuk Query Faceted di Amazon CloudSearch
Jika Anda mengumpulkan informasi facet dengan buckets
opsi dan mengalami kinerja kueri yang lambat, coba atur metode bucket ke. interval
Untuk informasi selengkapnya, lihat Informasi Aspek Bucketing.
Peningkatan Tiba-tiba dalam Kesalahan 5xx Saat Mencari Domain Amazon CloudSearch
Jika domain penelusuran Anda mengalami lonjakan lalu lintas yang tiba-tiba, Amazon CloudSearch merespons dengan menambahkan instance penelusuran ke domain Anda untuk menangani peningkatan beban. Namun, dibutuhkan beberapa menit untuk menyiapkan instance baru. Anda mungkin akan melihat peningkatan sementara dalam kesalahan 5xx hingga instance baru siap untuk mulai memproses permintaan. Untuk informasi selengkapnya tentang penanganan kesalahan 5xx, lihatPenanganan Kesalahan. Untuk informasi tentang pra-penskalaan domain Anda guna menangani lonjakan permintaan penelusuran yang diharapkan, lihat. Mengkonfigurasi Opsi Penskalaan di Amazon CloudSearch
Kegagalan Pengindeksan setelah Memperbarui Opsi Pengindeksan di Amazon CloudSearch
Jika Anda membuat perubahan pada konfigurasi indeks domain, dalam kasus tertentu Anda mungkin mengalami kesalahan Gagal Memvalidasi saat menjalankan pengindeksan. Ini berarti bahwa opsi bidang indeks yang Anda tetapkan tidak kompatibel dengan dokumen yang sudah ada dalam indeks Anda. Secara khusus, Anda mengubah jenis bidang indeks, dan ada dokumen dalam indeks Anda yang berisi data yang tidak kompatibel dengan jenis itu. Misalnya, ini mungkin terjadi jika Anda mengubah literal
bidang ke int
bidang, dan beberapa dokumen Anda berisi data alfanumerik di bidang itu. Ketika ini terjadi, Amazon CloudSearch menetapkan status SEMUA bidang yang sedang diproses ke FailedToValidate
status. Mengembalikan perubahan konfigurasi yang tidak kompatibel akan memungkinkan Anda untuk berhasil membangun kembali indeks Anda. Jika perubahan diperlukan, Anda harus memperbarui atau menghapus dokumen yang tidak kompatibel dari indeks Anda untuk menggunakan konfigurasi baru. Jika Anda tidak dapat mengidentifikasi perubahan yang menyebabkan kesalahan atau memerlukan bantuan untuk mengidentifikasi dokumen yang tidak kompatibel, hubungi dukungan.
Domain Tidak Ditemukan Saat Mengirimkan Permintaan Amazon CloudSearch
Anda tidak dapat mengakses domain 2013-01-01 dengan alat baris perintah 2011-02-01 atau SDK. Demikian pula, Anda tidak dapat mengakses domain 2011-02-01 dengan alat baris perintah 2013-01-01 atau SDK. Pastikan Anda menentukan versi API yang benar dalam permintaan Anda dan menggunakan alat baris perintah atau SDK yang sesuai.
Jumlah Dokumen yang Dapat Dicari yang Tidak Dikembalikan dengan Informasi Domain
Itu aws cloudsearch describe-domains
dan DescribeDomains
tidak mengembalikan jumlah dokumen yang dapat dicari di domain. Untuk mendapatkan jumlah dokumen yang dapat dicari, gunakan konsol atau kirimkan matchall
permintaan ke titik akhir penelusuran domain Anda.
q=matchall&q.parser=structured&size=0
Kebijakan Akses Layanan Konfigurasi Tidak Berfungsi di Amazon CloudSearch
Jika Anda memiliki domain 2011 dan 2013, telah mengonfigurasi kebijakan IAM untuk mengakses layanan konfigurasi, dan mendapatkan kesalahan yang tidak diotorisasi, perhatikan bahwa Amazon CloudSearch ARN berbeda untuk 2011-02-01 API dan 2013-01-01 API. Untuk memungkinkan pengguna mengakses domain 2011 dan 2013, Anda harus mengizinkan akses ke kedua ARN dalam kebijakan IAM. Sebagai contoh:
{ "Statement": [ { "Effect": "Allow", "Action": [ "cloudsearch:*", ], "Resource": "arn:aws:cloudsearch:*", "Resource": "arn:aws:cs:*" } ] }
Jika kebijakan 2011 Anda memberikan akses ke domain atau tindakan tertentu, Anda harus menyertakan pembatasan tersebut dalam kebijakan Anda. Perhatikan bahwa satu-satunya tindakan yang didukung untuk domain 2011 adalah cloudsearch:*
dan Anda mungkin mengalami kesalahan lain saat mencoba mengonfigurasi izin tingkat sumber daya untuk domain yang dibuat dengan API 2011-01-01.
Kebijakan Akses Layanan Pencarian dan Dokumen Tidak Berfungsi di Amazon CloudSearch
Jika Anda telah mengonfigurasi kebijakan akses untuk titik akhir penelusuran dan layanan dokumen domain Anda, tetapi mendapatkan kesalahan 403 Permintaan yang dilarang oleh aturan administratif, kemungkinan karena salah satu masalah berikut.
Pastikan versi API dan nama sumber daya ditentukan dalam permintaan Anda. Misalnya, untuk mengunggah dokumen dengan API 2013-01-01, Anda harus menambahkan
/2013-01-01/documents/batch
ke endpoint layanan dokumen domain Anda:doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com/2013-01-01/documents/batch
Untuk mengirimkan permintaan penelusuran menggunakan API 2013-01-01, Anda harus menambahkan
/2013-01-01/search
ke titik akhir penelusuran domain Anda:search-movies-123456789012.us-east-1.cloudsearch.amazonaws.com/2013-01-01/search?q=star+wars&return=title
Untuk mendapatkan saran menggunakan API 2013-01-01, Anda harus menambahkan ke titik akhir penelusuran domain
/2013-01-01/suggest
Anda:search-movies-123456789012.us-east-1.cloudsearch.amazonaws.com/2013-01-01/suggest?q=kat&suggester=mysuggester
Jika Anda terhubung dari instans EC2, pastikan kebijakan akses menentukan alamat IP publik instans EC2 Anda.
Jika mesin yang Anda sambungkan berada di belakang router, pastikan kebijakan akses menentukan alamat IP yang menghadap publik Anda.
Untuk informasi selengkapnya, lihat configure access policies.
Kesalahan Izin CloudSearch Konsol Amazon
Untuk mengakses ke konsol, Anda harus memiliki izin untuk DescribeDomains
tindakan tersebut. Akses ke domain dan tindakan tertentu mungkin dibatasi oleh kebijakan akses IAM yang dikonfigurasi. Selain itu, mengunggah data dari bucket Amazon S3 atau tabel DynamoDB memerlukan akses ke layanan dan sumber daya tersebut. Untuk informasi selengkapnya tentang kebijakan CloudSearch akses Amazon, lihatconfigure access policies.
Menggunakan Wildcard untuk Mencari Bidang Teks Tidak Menghasilkan Hasil yang Diharapkan
Saat Anda mengirimkan permintaan pencarian, teks yang Anda cari mengalami pemrosesan teks yang sama sehingga dapat dicocokkan dengan istilah yang muncul di indeks. Namun, tidak ada analisis teks yang dilakukan pada istilah pencarian saat Anda melakukan pencarian awalan. Ini berarti bahwa pencarian awalan yang diakhiri s
biasanya tidak akan cocok dengan versi tunggal istilah saat stemming diaktifkan. Ini bisa terjadi untuk istilah apa pun yang berakhirs
, bukan hanya bentuk 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.
Jika stemming mencegah pencarian wildcard mengembalikan semua kecocokan yang relevan, Anda dapat menekan stemming untuk bidang teks dengan menyetel AlgorithmicStemming
opsi ke none, atau Anda dapat memetakan data ke bidang, bukan bidang. literal
text
Untuk informasi selengkapnya tentang cara Amazon CloudSearch memproses teks, lihatPemrosesan Teks di Amazon CloudSearch.
Hasil yang Tidak Konsisten Saat Menggunakan Kursor untuk Deep Paging
Saat Anda menggunakan kursor ke halaman melalui kumpulan hasil yang diurutkan berdasarkan skor dokumen (_score
), Anda bisa mendapatkan hasil yang tidak konsisten jika indeks diperbarui di antara permintaan. Ini juga dapat terjadi jika jumlah replikasi domain Anda lebih besar dari satu, karena pembaruan diterapkan secara konsisten di seluruh instance dalam domain. Jika ini menjadi masalah, hindari menyortir hasil berdasarkan skor. Anda dapat menggunakan sort
opsi untuk mengurutkan berdasarkan bidang tertentu, atau menggunakan fq
alih-alih q
untuk menentukan kriteria pencarian Anda. (Skor dokumen tidak dihitung untuk kueri filter.)
Kesalahan Sertifikat Saat Menggunakan SDK
Karena AWS SDK menggunakan sertifikat CA dari komputer Anda, perubahan pada sertifikat di server AWS dapat menyebabkan kegagalan koneksi saat Anda mencoba menggunakan SDK. Pesan kesalahan bervariasi, tetapi biasanya berisi teks berikut:
SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Anda dapat mencegah kegagalan ini dengan menyimpan sertifikat CA dan sistem operasi komputer Anda up-to-date. Jika Anda mengalami masalah ini di lingkungan perusahaan dan tidak mengelola komputer Anda sendiri, Anda mungkin perlu meminta administrator untuk membantu proses pembaruan.
Daftar berikut menunjukkan sistem operasi minimum dan versi Java:
-
Versi Microsoft Windows yang memiliki pembaruan mulai Januari 2005 atau yang lebih baru yang sudah terinstal memuat setidaknya satu dari CA yang diperlukan dalam daftar kepercayaan mereka.
-
Mac OS X 10.4 dengan Java untuk Mac OS X 10.4 Release 5 (Februari 2007), Mac OS X 10.5 (Oktober 2007), dan versi lebih baru memuat setidaknya satu dari CA yang diperlukan dalam daftar kepercayaan mereka.
-
Red Hat Enterprise Linux 5 (Maret 2007), 6, dan 7 serta CentOS 5, 6, dan 7 semuanya berisi setidaknya satu dari CA yang diperlukan dalam daftar default CA tepercaya mereka.
-
Java 1.4.2_12 (Mei 2006), 5 Pembaruan 2 (Maret 2005), dan semua versi setelahnya, termasuk Java 6 (Desember 2006), 7, dan 8, memuat setidaknya satu dari CA yang diperlukan dalam daftar default CA tepercaya mereka.
Ketiga otoritas sertifikasi (CA) adalah:
-
Amazon Root CA 1
-
Starfield Services Root Certificate Authority - G2
-
Starfield Class 2 Certification Authority
Sertifikat root dari dua otoritas pertama tersedia dari Amazon Trust Services
catatan
Sertifikat ini belum diperlukan, tetapi dijadwalkan untuk diterapkan ke server AWS pada bulan November 2017.