Mempersiapkan Data Anda untuk Amazon CloudSearch - Amazon CloudSearch

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

Mempersiapkan Data Anda untuk Amazon CloudSearch

Anda perlu memformat data Anda dalam JSON atau XMLsebelum Anda dapat mengunggahnya ke domain pencarian Anda untuk pengindeksan. Setiap item yang ingin Anda terima sebagai hasil pencarian direpresentasikan sebagai dokumen. Setiap dokumen memiliki ID dokumen unik dan satu atau beberapa bidang yang berisi data yang ingin Anda cari dan kembalikan hasilnya. Bidang dokumen ini digunakan untuk mengisi bidang indeks yang Anda konfigurasikan untuk domain Anda. Untuk informasi selengkapnya, lihat configure indexing options.

Creating Document Batchesmenjelaskan cara memformat data Anda. Untuk penjelasan rinci tentang skema Amazon CloudSearch JSON dan XHTML, lihat. Document Service API

Memetakan Data Dokumen ke Bidang Indeks di Amazon CloudSearch

Untuk mengisi bidang dalam indeks Anda, Amazon CloudSearch membaca data dari bidang dokumen yang sesuai. Setiap bidang yang ditentukan dalam data dokumen Anda harus dikonfigurasi dalam opsi pengindeksan Anda. Dokumen dapat berisi subset bidang yang dikonfigurasi untuk domain—setiap dokumen tidak harus berisi semua bidang. Selain itu, Anda dapat mengisi bidang tambahan dalam indeks Anda dengan menyalin data dari satu bidang ke bidang lainnya. Ini memungkinkan Anda untuk menggunakan data sumber yang sama dengan cara yang berbeda dengan mengonfigurasi opsi yang berbeda untuk bidang.

Bidang array seperti text-array dapat berisi hingga 1000 nilai. Pada waktu pencarian, dokumen dikembalikan sebagai hit jika salah satu dari nilai-nilai tersebut cocok dengan permintaan pencarian.

Membuat Batch Dokumen di Amazon CloudSearch

penting

Sebelum mengunggah data ke CloudSearch domain Amazon, ikuti panduan berikut:

  • Kelompokkan dokumen ke dalam batch sebelum Anda mengunggahnya. Terus mengunggah batch yang hanya terdiri dari satu dokumen memiliki dampak negatif yang besar pada kecepatan Amazon CloudSearch dapat memproses pembaruan Anda. Sebagai gantinya, buat batch yang sedekat mungkin dengan batas dan unggah lebih jarang. Untuk informasi selengkapnya tentang ukuran batch maksimum dan frekuensi unggah, lihatMemahami CloudSearch Batas Amazon.

  • Dokumen domain dan titik akhir pencarian tetap sama untuk 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.

Anda membuat kumpulan dokumen untuk mendeskripsikan data yang ingin Anda cari. Saat Anda mengirim batch dokumen ke domain, data diindeks secara otomatis sesuai dengan opsi pengindeksan domain. CloudSearch Konsol Amazon dapat secara otomatis menghasilkan kumpulan dokumen dari berbagai dokumen sumber.

Kumpulan dokumen adalah kumpulan operasi tambah dan hapus yang mewakili dokumen yang ingin Anda tambahkan, perbarui, atau hapus dari domain Anda. Batch dapat dijelaskan dalam JSON atau XHTML. Lihat Memahami CloudSearch Batas Amazon untuk ukuran batch maksimum dan ukuran dokumen.

Untuk mendapatkan performa unggahan sebaik mungkin, kelompokkan operasi tambah dan hapus dalam batch yang mendekati ukuran batch maksimum. Mengirimkan sejumlah besar kumpulan dokumen tunggal ke layanan dokumen dapat meningkatkan waktu yang diperlukan agar perubahan Anda terlihat di hasil penelusuran. Jika Anda memiliki sejumlah besar data untuk diunggah, Anda dapat mengirim batch secara paralel. Jumlah pengunggah simultan yang dapat Anda gunakan bergantung pada jenis instance pencarian. Anda dapat melakukan prescale untuk upload massal dengan menyetel opsi jenis instans yang diinginkan untuk domain Anda. Untuk informasi selengkapnya, lihat Mengkonfigurasi Opsi Penskalaan di Amazon CloudSearch.

Untuk setiap dokumen dalam batch, Anda harus menentukan:

  • Operasi yang ingin Anda lakukan: menambah atau menghapus.

  • ID unik untuk dokumen. ID dokumen dapat berisi huruf atau angka dan karakter berikut: _ - = #;:/? @ &. ID dokumen harus minimal 1 dan panjangnya tidak lebih dari 128 karakter.

  • Pasangan nama-nilai untuk setiap bidang dokumen. Untuk menentukan nilai latlon bidang, Anda menentukan garis lintang dan bujur sebagai daftar yang dipisahkan koma; misalnya,. "location_field": "35.628611,-120.694152" Saat menentukan dokumen di JSON, nilai untuk bidang tidak bisa. null (Namun, Anda dapat menghilangkan bidang sepenuhnya.)

Misalnya, batch JSON berikut menambahkan satu dokumen dan menghapus satu dokumen:

[ {"type": "add", "id": "tt0484562", "fields": { "title": "The Seeker: The Dark Is Rising", "directors": ["Cunningham, David L."], "genres": ["Adventure","Drama","Fantasy","Thriller"], "actors": ["McShane, Ian","Eccleston, Christopher","Conroy, Frances", "Crewson, Wendy","Ludwig, Alexander","Cosmo, James", "Warner, Amelia","Hickey, John Benjamin","Piddock, Jim", "Lockhart, Emma"] } }, {"type": "delete", "id": "tt0484575" } ]

Batch yang sama yang diformat dalam XMLterlihat seperti ini:

<batch> <add id="tt0484562"> <field name="title">The Seeker: The Dark Is Rising</field> <field name="directors">Cunningham, David L.</field> <field name="genres">Adventure</field> <field name="genres">Drama</field> <field name="genres">Fantasy</field> <field name="genres">Thriller</field> <field name="actors">McShane, Ian</field> <field name="actors">Eccleston, Christopher</field> <field name="actors">Conroy, Frances</field> <field name="actors">Ludwig, Alexander</field> <field name="actors">Crewson, Wendy</field> <field name="actors">Warner, Amelia</field> <field name="actors">Cosmo, James</field> <field name="actors">Hickey, John Benjamin</field> <field name="actors">Piddock, Jim</field> <field name="actors">Lockhart, Emma</field> </add> <delete id="tt0484575" /> </batch>

Amazon CloudSearch menerima batch hanya jika semua dokumen di dalamnya valid. Anda dapat memverifikasi validitas data JSON atau XHTML Anda menggunakan alat seperti dan. xmllint jsonlint

Batch JSON dan XHTML hanya dapat berisi karakter UTF-8 yang valid dalam XML.2. Karakter yang valid adalah tab karakter kontrol (0009), carriage return (000D), dan line feed (000A), dan karakter hukum Unicode dan ISO/IEC 10646. FFFE, FFFF, dan blok pengganti D800—DBFF dan DC00—DFFF tidak valid dan akan menyebabkan kesalahan. (Untuk informasi selengkapnya, lihat Extensible Markup Language (XHTML) 1.0 (Edisi Kelima).) Anda dapat menggunakan ekspresi reguler berikut untuk mencocokkan karakter yang tidak valid sehingga Anda dapat menghapusnya:. /[^\u0009\u000a\u000d\u0020-\uD7FF\uE000-\uFFFD]/

Saat memformat data Anda di JSON, tanda kutip (“) dan garis miring terbalik (\) dalam nilai bidang harus diloloskan dengan garis miring terbalik. Misalnya:

"title":"Where the Wild Things Are" "isbn":"0-06-025492-0" "image":"images\\covers\\Where_The_Wild_Things_Are_(book)_cover.jpg" "comment":"Sendak's \"Where the Wild Things Are\" is a children's classic."

Saat memformat data Anda dalam XHTML, ampersands (&) dan simbol kurang dari (<) dalam nilai bidang perlu direpresentasikan dengan referensi entitas yang sesuai (dan). &amp; &lt;

Misalnya:

<field name="title">Little Cow &amp; the Turtle</field> <field name="isbn">0-84466-4774</field> <field name="image">images\covers\Little_Cow_&amp;_the_Turtle.jpg</field> <field name="comment">&lt;insert comment></field>

Jika Anda memiliki blok besar konten buatan pengguna, Anda mungkin ingin membungkus seluruh bidang di bagian CDATA, daripada mengganti setiap kejadian dengan referensi entitas. Misalnya:

<field name="comment"><![CDATA[Monsters & mayhem--what's not to like! ]]>

Menambahkan dan Memperbarui Dokumen di Amazon CloudSearch

Operasi add menentukan dokumen baru yang ingin Anda tambahkan ke indeks atau dokumen yang sudah ada yang ingin Anda perbarui.

Saat Anda menambahkan atau memperbarui dokumen, Anda menentukan ID dokumen dan semua bidang yang terkandung dalam dokumen. Anda tidak perlu menentukan setiap bidang yang dikonfigurasi untuk setiap dokumen—dokumen dapat berisi subset dari bidang yang dikonfigurasi. Namun, setiap bidang dalam dokumen harus sesuai dengan bidang yang dikonfigurasi untuk domain.

Untuk menambahkan dokumen ke domain pencarian
  1. Tentukan operasi tambah yang berisi ID dokumen yang ingin Anda tambahkan dan setiap bidang yang ingin Anda cari atau kembalikan dalam hasil. Jika dokumen sudah ada, operasi add akan menggantikannya. (Anda tidak dapat memperbarui bidang yang dipilih, dokumen ditimpa dengan versi baru.) Misalnya, operasi berikut menambahkan dokumen tt0484562:

    { "type": "add", "id": "tt0484562", "fields": { "title": "The Seeker: The Dark Is Rising", "directors": ["Cunningham, David L."], "genres": ["Adventure","Drama","Fantasy","Thriller"], "actors": ["McShane, Ian","Eccleston, Christopher","Conroy, Frances", "Crewson, Wendy","Ludwig, Alexander","Cosmo, James", "Warner, Amelia","Hickey, John Benjamin","Piddock, Jim", "Lockhart, Emma"] } }
  2. Sertakan operasi tambah dalam kumpulan dokumen dan unggah batch ke domain Anda. Anda dapat mengunggah data melalui CloudSearch konsol Amazon atau dengan memposting permintaan langsung ke titik akhir layanan dokumen domain. Untuk informasi selengkapnya, lihat upload documents.

Menghapus Dokumen di Amazon CloudSearch

Operasi hapus menentukan dokumen yang ingin Anda hapus dari indeks domain. Setelah dokumen dihapus, itu tidak akan lagi dapat dicari atau dikembalikan dalam hasil.

Saat memposting pembaruan untuk menghapus dokumen, Anda harus menentukan setiap dokumen yang ingin Anda hapus.

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.

catatan

Untuk menghapus dokumen, Anda mengunggah kumpulan dokumen yang berisi operasi penghapusan. Anda ditagih untuk jumlah total kumpulan dokumen yang diunggah ke domain pencarian Anda, termasuk batch yang berisi operasi penghapusan. Untuk informasi selengkapnya tentang CloudSearch harga Amazon, lihat aws.amazon.com/cloudsearch/pricing/.

Untuk menghapus dokumen dari domain pencarian
  1. Tentukan operasi hapus yang berisi ID dokumen yang ingin Anda hapus. Misalnya, operasi berikut akan menghapus dokumentt0484575:

    { "type": "delete", "id": "tt0484575" }
  2. Sertakan operasi hapus dalam kumpulan dokumen dan unggah batch ke domain Anda. Anda dapat mengunggah batch melalui CloudSearch konsol Amazon atau dengan memposting permintaan langsung ke titik akhir layanan dokumen domain. Untuk informasi selengkapnya, lihat upload documents.

  3. Operasi hapus menghapus dokumen dari indeks Anda—dokumen tersebut tidak akan muncul di hasil penelusuran—tetapi untuk menghapusnya seluruhnya dari Amazon CloudSearch, Anda juga harus membangun kembali indeks Anda.

Memproses Data Sumber Anda untuk Amazon CloudSearch

Untuk mengunggah data untuk pengindeksan, Anda perlu memformat data Anda dalam JSON atau XHTML. CloudSearch Konsol Amazon menyediakan cara untuk secara otomatis menghasilkan JSON atau XHTML yang diformat dengan benar dari beberapa jenis file umum: CSV, teks, dan HTML. Anda juga dapat memproses batch yang diformat untuk Amazon CloudSearch 2011-02-01 API untuk mengonversinya ke format 2013-01-01.

Untuk sebagian besar jenis file, setiap file sumber direpresentasikan sebagai dokumen terpisah dalam JSON atau XHTML yang dihasilkan. Jika metadata tersedia untuk file, metadata dipetakan ke bidang dokumen yang sesuai—bidang yang dihasilkan dari metadata dokumen bervariasi tergantung pada jenis file. Isi file sumber diuraikan menjadi satu bidang teks. Jika file berisi lebih dari 1 MB data, data yang dipetakan ke bidang teks terpotong sehingga dokumen tidak melebihi 1 MB.

File CSV ditangani secara berbeda. Saat memproses file CSV, Amazon CloudSearch menggunakan konten baris pertama untuk menentukan bidang dokumen, dan membuat dokumen terpisah untuk setiap baris berikut. Jika ada header kolom yang disebut docid, nilai di kolom tersebut digunakan sebagai ID dokumen. Jika perlu, nilai docid dinormalisasi agar sesuai dengan set karakter yang diizinkan. ID dokumen dapat berisi huruf atau angka dan karakter berikut: _ - = #;:/? @ &. Jika tidak ada kolom docid, ID unik dihasilkan untuk setiap dokumen berdasarkan nama file dan nomor baris.

Jika Anda mengunggah beberapa jenis file, file CSV diuraikan row-by-row, dan file non-CSV diperlakukan sebagai dokumen individual.

catatan

Saat ini, hanya file CSV yang diurai untuk secara otomatis mengekstrak data bidang khusus dan menghasilkan banyak dokumen.

Anda juga dapat memproses data yang disimpan di DynamoDB. Amazon CloudSearch mewakili setiap item yang dibaca dari tabel sebagai dokumen terpisah.

Memproses Data Sumber Menggunakan CloudSearch Konsol Amazon

Saat Anda mengunggah dokumen sumber atau item DynamoDB melalui konsol CloudSearch Amazon, dokumen tersebut secara otomatis dikonversi ke format Amazon CloudSearch JSON. Anda dapat menggunakan konsol untuk mengunggah hingga 5 MB data sekaligus. Jika mau, Anda dapat mengunduh file JSON yang dihasilkan. Untuk informasi selengkapnya tentang mengunggah data melalui konsol, lihat upload documents dan Uploading DynamoDB Data.