

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

# Pencarian asinkron di Layanan Amazon OpenSearch
<a name="asynchronous-search"></a>

Dengan penelusuran asinkron untuk Amazon OpenSearch Service, Anda dapat mengirimkan kueri penelusuran yang dijalankan di latar belakang, memantau kemajuan permintaan, dan mengambil hasil di tahap selanjutnya. Anda dapat mengambil sebagian hasil karena hasil tersebut menjadi tersedia sebelum pencarian selesai. Setelah pencarian selesai, simpan hasil untuk pengambilan dan analisis nanti.

Pencarian asinkron membutuhkan OpenSearch 1.0 atau yang lebih baru, atau Elasticsearch 7.10 atau yang lebih baru. 

Dokumentasi ini memberikan gambaran singkat tentang pencarian asinkron. Ini juga membahas batasan menggunakan penelusuran asinkron dengan domain OpenSearch Layanan Amazon yang dikelola daripada cluster sumber terbuka. OpenSearch Untuk dokumentasi lengkap penelusuran asinkron, termasuk setelan yang tersedia, izin, dan referensi API lengkap, lihat Pencarian [asinkron](https://docs.opensearch.org/latest/search-plugins/async/index/) dalam dokumentasi. OpenSearch 

## Contoh panggilan pencarian
<a name="asynchronous-search-sample"></a>

Untuk melakukan pencarian asinkron, kirim permintaan HTTP ke `_plugins/_asynchronous_search` menggunakan format berikut:

```
POST opensearch-domain/_plugins/_asynchronous_search
```

**catatan**  
Jika Anda menggunakan Elasticsearch 7.10 alih-alih OpenSearch versi, ganti `_plugins` dengan semua permintaan penelusuran `_opendistro` asinkron.

Anda dapat menentukan opsi pencarian asinkron berikut:


| Opsi | Deskripsi | Nilai default | Diperlukan | 
| --- | --- | --- | --- | 
| wait\$1for\$1completion\$1timeout |  Menentukan jumlah waktu yang Anda rencanakan untuk menunggu hasil. Anda dapat melihat hasil apa pun yang Anda dapatkan dalam waktu ini seperti dalam pencarian normal. Anda dapat melakukan poling hasil yang tersisa berdasarkan ID. Nilai maksimum yang diizinkan adalah 300 detik.  | 1 detik | Tidak | 
| keep\$1on\$1completion |  Menentukan apakah Anda ingin menyimpan hasil dalam klaster setelah pencarian selesai. Anda dapat memeriksa hasil yang disimpan di lain waktu.  | false | Tidak | 
| keep\$1alive |  Menentukan jumlah waktu hasilnya disimpan dalam klaster. Misalnya, `2d` berarti bahwa hasilnya disimpan di dalam klaster selama 48 jam. Hasil pencarian yang disimpan akan dihapus setelah periode ini atau jika pencarian dibatalkan. Perhatikan bahwa ini termasuk waktu aktif kueri. Jika permintaan overruns saat ini, proses membatalkan kueri ini secara otomatis.  | 12 jam | Tidak | 

**Permintaan sampel**

```
POST _plugins/_asynchronous_search/?pretty&size=10&wait_for_completion_timeout=1ms&keep_on_completion=true&request_cache=false
{
  "aggs": {
    "city": {
      "terms": {
        "field": "city",
        "size": 10
      }
    }
  }
}
```

**catatan**  
Semua parameter permintaan yang berlaku untuk kueri `_search` standar yang didukung. Jika Anda menggunakan Elasticsearch 7.10 alih-alih OpenSearch versi, ganti dengan. `_plugins` `_opendistro`

## Izin pencarian asinkron
<a name="asynchronous-search-permissions"></a>

Pencarian asinkron mendukung kontrol akses berbutir [halus](fgac.md). Untuk detail tentang pencampuran dan pencocokan izin agar sesuai dengan kasus penggunaan Anda, lihat [Pencarian asinkron](https://docs.opensearch.org/latest/search-plugins/async/security/).

Untuk domain dengan kontrol akses berbutir halus diaktifkan, Anda memerlukan izin minimum berikut untuk peran: 

```
# Allows users to use all asynchronous search functionality
asynchronous_search_full_access:
  reserved: true
  cluster_permissions:
    - 'cluster:admin/opensearch/asynchronous-search/*'
  index_permissions:
    - index_patterns:
        - '*'
      allowed_actions:
        - 'indices:data/read/search*'

# Allows users to read stored asynchronous search results
asynchronous_search_read_access:
  reserved: true
  cluster_permissions:
    - 'cluster:admin/opensearch/asynchronous-search/get'
```

Untuk domain dengan kontrol akses berbutir halus dinonaktifkan, gunakan akses IAM dan kunci rahasia untuk menandatangani semua permintaan. Anda dapat mengakses hasil dengan ID pencarian asinkron. 

## Pengaturan pencarian asinkron
<a name="asynchronous-search-diff"></a>

OpenSearch memungkinkan Anda mengubah semua [setelan pencarian asinkron yang tersedia menggunakan API](https://docs.opensearch.org/latest/search-plugins/async/settings/). `_cluster/settings` Di OpenSearch Layanan, Anda hanya dapat mengubah pengaturan berikut: 
+ `plugins.asynchronous_search.node_concurrent_running_searches`
+ `plugins.asynchronous_search.persist_search_failures`

## Pencarian lintas klaster
<a name="asynchronous-search-ccs"></a>

Anda dapat melakukan pencarian asinkron di klaster dengan keterbatasan kecil berikut:
+ Anda dapat menjalankan pencarian asinkron hanya pada domain sumber.
+ Anda tidak dapat meminimalkan perjalanan putaran jaringan sebagai bagian dari kueri pencarian lintas-klaster.

Jika Anda mengatur koneksi antara `domain-a -> domain-b` dengan alias `cluster_b` dan `domain-a -> domain-c` dengan alias koneksi `cluster_c`, pencarian asinkron `domain-a`, `domain-b`, dan `domain-c` sebagai berikut:

```
POST https://src-domain.us-east-1.es.amazonaws.com/local_index,cluster_b:b_index,cluster_c:c_index/_plugins/_asynchronous_search/?pretty&size=10&wait_for_completion_timeout=500ms&keep_on_completion=true&request_cache=false 
{
  "size": 0,
  "_source": {
    "excludes": []
  },
  "aggs": {
    "2": {
      "terms": {
        "field": "clientip",
        "size": 50,
        "order": {
          "_count": "desc"
        }
      }
    }
  },
  "stored_fields": [
    "*"
  ],
  "script_fields": {},
  "docvalue_fields": [
    "@timestamp"
  ],
  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "query": "status:404",
            "analyze_wildcard": true,
            "default_field": "*"
          }
        },
        {
          "range": {
            "@timestamp": {
              "gte": 1483747200000,
              "lte": 1488326400000,
              "format": "epoch_millis"
            }
          }
        }
      ],
      "filter": [],
      "should": [],
      "must_not": []
    }
  }
}
```

**Respons**

```
{
  "id" : "Fm9pYzJyVG91U19xb0hIQUJnMHJfRFEAAAAAAAknghQ1OWVBczNZQjVEa2dMYTBXaTdEagAAAAAAAAAB",
  "state" : "RUNNING",
  "start_time_in_millis" : 1609329314796,
  "expiration_time_in_millis" : 1609761314796
}
```

Untuk informasi selengkapnya, lihat [Pencarian lintas cluster di Layanan Amazon OpenSearch](cross-cluster-search.md).

## UltraWarm
<a name="asynchronous-search-ultrawarm"></a>

Pencarian asinkron dengan UltraWarm indeks terus berfungsi. Untuk informasi selengkapnya, lihat [UltraWarm penyimpanan untuk Amazon OpenSearch Service](ultrawarm.md).

**catatan**  
Anda dapat memantau statistik pencarian asinkron di. CloudWatch Untuk daftar lengkap metrik, lihat [Metrik pencarian asinkron](managedomains-cloudwatchmetrics.md#managedomains-cloudwatchmetrics-asynchronous-search).