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
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_path
Parameter 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.
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-nNatau Security Analytics.