

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
<a name="indexing"></a>

Karena Amazon OpenSearch Service menggunakan REST API, ada banyak metode untuk mengindeks dokumen. Anda dapat menggunakan klien standar seperti [curl](https://curl.haxx.se/) 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 ke[Memuat data streaming ke OpenSearch Layanan Amazon](integrations.md).

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](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ingestion.html). 

Untuk pengenalan pengindeksan, lihat [OpenSearchdokumentasi](https://docs.opensearch.org/latest/opensearch/index-data/).

## Pembatasan penamaan untuk indeks
<a name="indexing-naming"></a>

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 (URIs). Server dan aplikasi sering mencatat permintaan HTTP, yang dapat menyebabkan paparan data yang tidak perlu jika URIs 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](ac.md) 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
<a name="indexing-size"></a>

Tanggapan dari `_index` dan `_bulk` APIs berisi cukup banyak 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 OpenSearch Service REST APIs, tetapi sangat berguna jika Anda sering menelepon, seperti `_index` dan `_bulk` APIs: APIs 

```
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
<a name="indexing-codecs"></a>

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.](https://opensearch.org/docs/latest/im-plugin/index-codecs/#supported-codecs) 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](https://opensearch.org/docs/latest/im-plugin/index-codecs/#changing-an-index-codec).
+ [Anda tidak dapat menggunakan [codec kompresi Zstandard](https://opensearch.org/docs/latest/im-plugin/index-codecs/) (`"index.codec": "zstd"`atau`"index.codec": "zstd_no_dict"`) untuk indeks [K-nN](https://opensearch.org/docs/latest/search-plugins/knn/index/) atau Security Analytics.](https://opensearch.org/docs/latest/security-analytics/index/)