Pengindeksan data di Layanan Amazon OpenSearch - OpenSearch Layanan Amazon

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

Pengindeksan data di Layanan Amazon OpenSearch

Karena Amazon OpenSearch Service menggunakan REST API, ada banyak metode untuk mengindeks dokumen. Anda dapat menggunakan klien standar seperti curl atau bahasa pemrograman apa pun yang dapat mengirim permintaan HTTP. Untuk lebih menyederhanakan proses berinteraksi dengannya, OpenSearch Layanan memiliki klien untuk banyak bahasa pemrograman. Pengguna tingkat lanjut dapat langsung melompat keMemuat data streaming ke OpenSearch Layanan Amazon.

Kami sangat menyarankan agar Anda menggunakan Amazon OpenSearch Ingestion untuk menelan data, yang merupakan pengumpul data yang dikelola sepenuhnya yang dibangun di dalam Layanan. OpenSearch Untuk informasi selengkapnya, lihat Amazon OpenSearch Ingestion.

Untuk pengenalan pengindeksan, lihat OpenSearchdokumentasi.

Pembatasan penamaan untuk indeks

OpenSearch Indeks layanan memiliki batasan penamaan berikut:

  • Semua huruf harus huruf kecil.

  • Nama indeks tidak dapat dimulai dengan _ atau -.

  • Nama indeks tidak dapat berisi spasi, koma, :, ", *, +, /, \, |, ?, #, >, atau <.

Jangan sertakan informasi sensitif dalam indeks, jenis, atau nama ID dokumen. OpenSearch Layanan menggunakan nama-nama ini dalam Uniform Resource Identifiers (URI). Server dan aplikasi sering mencatat permintaan HTTP, yang dapat menyebabkan eksposur data yang tidak perlu jika URI berisi informasi sensitif:

2018-10-03T23:39:43 198.51.100.14 200 "GET https://opensearch-domain/dr-jane-doe/flu-patients-2018/202-555-0100/ HTTP/1.1"

Bahkan jika Anda tidak memiliki Izin untuk melihat dokumen JSON terkait, Anda dapat menyimpulkan dari baris log palsu ini bahwa salah satu pasien Dr. Doe dengan nomor telepon 202-555-0100 terkena flu pada 2018.

Jika OpenSearch Layanan mendeteksi alamat IP asli atau percieved dalam nama indeks (misalnya,my-index-12.34.56.78.91), itu menutupi alamat IP. Panggilan untuk _cat/indices menghasilkan respons berikut:

green open my-index-x.x.x.x.91 soY19tBERoKo71WcEScidw 5 1 0 0 2kb 1kb

Untuk mencegah kebingungan yang tidak perlu, hindari memasukkan alamat IP dalam nama indeks.

Mengurangi ukuran respons

Tanggapan dari API _index dan _bulk mengandung sedikit informasi. Informasi ini dapat berguna untuk pemecahan masalah permintaan atau untuk menerapkan logika coba lagi, tetapi dapat menggunakan bandwidth yang cukup besar. Dalam contoh ini, pengindeksan dokumen 32 byte menghasilkan respons 339 byte (termasuk header):

PUT opensearch-domain/more-movies/_doc/1 {"title": "Back to the Future"}

Respons

{ "_index": "more-movies", "_type": "_doc", "_id": "1", "_version": 4, "result": "updated", "_shards": { "total": 2, "successful": 2, "failed": 0 }, "_seq_no": 3, "_primary_term": 1 }

Ukuran respons ini mungkin tampak minimal, tetapi jika Anda mengindeks 1.000.000 dokumen per hari—sekitar 11,5 dokumen per detik—339 byte per respons menghasilkan lalu lintas unduhan 10,17 GB per bulan.

Jika biaya transfer data menjadi perhatian, gunakan filter_path parameter untuk mengurangi ukuran respons OpenSearch Layanan, tetapi berhati-hatilah untuk tidak menyaring bidang yang Anda butuhkan untuk mengidentifikasi atau mencoba kembali permintaan yang gagal. Bidang ini bervariasi oleh klien. filter_pathParameter berfungsi untuk semua API REST OpenSearch Layanan, tetapi sangat berguna dengan API yang sering Anda panggil, seperti _bulk API _index dan API:

PUT opensearch-domain/more-movies/_doc/1?filter_path=result,_shards.total {"title": "Back to the Future"}

Respons

{ "result": "updated", "_shards": { "total": 2 } }

Alih-alih menyertakan bidang, Anda dapat mengecualikan bidang dengan awalan -. filter_path juga mendukung wildcard:

POST opensearch-domain/_bulk?filter_path=-took,-items.index._* { "index": { "_index": "more-movies", "_id": "1" } } {"title": "Back to the Future"} { "index": { "_index": "more-movies", "_id": "2" } } {"title": "Spirited Away"}

Respons

{ "errors": false, "items": [ { "index": { "result": "updated", "status": 200 } }, { "index": { "result": "updated", "status": 200 } } ] }

Codec indeks

Codec indeks menentukan bagaimana bidang yang disimpan pada indeks dikompresi dan disimpan pada disk. Codec indeks dikendalikan oleh index.codec pengaturan statis, yang menentukan algoritma kompresi. Pengaturan ini berdampak pada ukuran pecahan indeks dan kinerja operasi.

Untuk daftar codec yang didukung dan karakteristik kinerjanya, lihat Codec yang didukung dalam dokumentasi. OpenSearch

Saat Anda memilih codec indeks, pertimbangkan hal berikut:

  • Untuk menghindari tantangan mengubah pengaturan codec dari indeks yang ada, uji beban kerja representatif di lingkungan non-produksi sebelum menggunakan pengaturan codec baru. Untuk informasi selengkapnya, lihat Mengubah codec indeks.

  • Anda tidak dapat menggunakan codec kompresi Zstandard ("index.codec": "zstd"atau"index.codec": "zstd_no_dict") untuk indeks K-nN atau Security Analytics.