

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

# Personalisasi hasil dari OpenSearch Layanan Amazon dengan Amazon Personalize
<a name="opensearch-service"></a>

Untuk mempersonalisasi OpenSearch hasil dari Amazon OpenSearch Service, Anda melakukan hal berikut:

1.  **Siapkan Amazon Personalize** — Jika Anda belum melakukannya, selesaikan langkah-langkah [Menyiapkan Amazon Personalisasi](setup.md) untuk menyiapkan kredensi dan menyiapkan izin untuk Amazon Personalize. Anda tidak perlu mengatur untuk AWS SDKs mempersonalisasi OpenSearch hasil. 

1.  **Selesaikan alur kerja Amazon Personalize** — Lengkapi alur kerja Amazon Personalize untuk mengimpor data, membuat solusi dengan resep Personalized-Ranking-v 2 atau Personalisasi Peringkat, latih versi solusi kustom, dan terapkan dalam kampanye. Anda harus membuat kumpulan data interaksi Item. Dataset Pengguna dan kumpulan data Item bersifat opsional. Untuk informasi selengkapnya, lihat [Amazon Personalisasi detail alur kerja](personalize-workflow.md).

1.  **Siapkan izin** — Siapkan izin agar Anda dapat mengakses sumber daya Amazon Personalisasi dari OpenSearch domain Layanan. Untuk informasi selengkapnya, lihat [Menyiapkan izin](opensearch-granting-access-managed.md). 

1.  **Instal plugin Amazon Personalize Search Ranking - Plugin** ini menangani komunikasi dengan Amazon Personalisasi dan peringkat ulang hasil. Untuk informasi tentang menginstal plugin pada domain OpenSearch Layanan, lihat[Menginstal plugin](open-search-install-managed.md).

1.  **Konfigurasikan plugin Amazon Personalize Search Ranking** — Untuk mengonfigurasi plugin, Anda membuat pipeline pencarian. *Saluran pipa pencarian* adalah kumpulan prosesor permintaan dan respons. Saat membuat pipeline untuk plugin, Anda menentukan sumber daya Amazon Personalisasi dalam prosesor `personalized_search_ranking` respons. Anda juga mengonfigurasi berapa berat plugin yang diberikan hasil dari Amazon Personalisasi saat peringkat ulang hasilnya. Untuk informasi selengkapnya, lihat [Membuat pipa](managed-opensearch-plugin-pipeline-example.md).

1.  **Menerapkan plugin Amazon Personalize Search Ranking ke OpenSearch kueri** — Setelah mengonfigurasi pipeline penelusuran dengan prosesor `personalized_search_ranking` respons, Anda siap menerapkan plugin Amazon Personalize Search Ranking ke OpenSearch kueri dan melihat hasil yang diberi peringkat ulang. Untuk informasi tentang menerapkan plugin ke kueri OpenSearch Layanan, lihat[Menerapkan plugin](managed-apply-plugin.md).

1.  **Bandingkan hasil** - Plugin Amazon Personalize Search Ranking memberi peringkat ulang hasil pencarian dalam respons kueri. OpenSearch Ini mempertimbangkan peringkat dari Amazon Personalize dan peringkat dari. OpenSearch Untuk memahami bagaimana hasil diberi peringkat ulang, Anda dapat membandingkan hasil dari kueri yang menggunakan personalisasi dan yang tidak. Untuk informasi tentang membandingkan hasil dengan OpenSearch Layanan, lihat[Membandingkan hasil](managed-comparing-results.md).

1.  **Pantau plugin Amazon Personalize Search Ranking — Saat Anda menerapkan plugin** Amazon Personalize Search Ranking ke kueri penelusuran, Anda dapat memantau plugin dengan mendapatkan metrik untuk pipeline pencarian Anda. Untuk informasi tentang memantau plugin dengan OpenSearch Layanan, lihat[Memantau plugin](managed-monitor.md).

**Topics**
+ [Menyiapkan izin OpenSearch Layanan Amazon](opensearch-granting-access-managed.md)
+ [Menginstal plugin Amazon Personalize Search Ranking di domain Layanan OpenSearch](open-search-install-managed.md)
+ [Membuat pipeline di Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md)
+ [Menerapkan plugin ke kueri OpenSearch Layanan Amazon](managed-apply-plugin.md)
+ [Membandingkan hasil OpenSearch Layanan Amazon yang dipersonalisasi dengan hasil tanpa personalisasi](managed-comparing-results.md)
+ [Memantau plugin dengan Amazon OpenSearch Service](managed-monitor.md)

# Menyiapkan izin OpenSearch Layanan Amazon
<a name="opensearch-granting-access-managed"></a>

Jika Anda menggunakan OpenSearch Layanan Amazon, Anda harus dapat mengakses sumber daya Amazon Personalisasi dari domain OpenSearch Layanan Anda. 

**Untuk mengatur izin**

1. Bergantung pada apakah sumber daya Anda berada di akun yang sama atau berbeda, buat satu atau beberapa peran layanan IAM dengan izin untuk mengakses sumber daya Anda.
   +  Jika sumber daya OpenSearch Layanan dan Amazon Personalisasi berada di akun yang sama, Anda membuat peran layanan IAM untuk OpenSearch Layanan dan memberinya izin untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalisasi Anda. Untuk informasi selengkapnya, lihat [Mengkonfigurasi izin saat sumber daya berada di akun yang sama](service-role-managed.md).
   + Jika sumber daya OpenSearch Layanan dan Amazon Personalisasi berada di akun terpisah, Anda membuat dua peran layanan IAM. Anda membuatnya di akun dengan sumber daya OpenSearch Layanan Anda dan memberikannya akses ke sumber daya OpenSearch Layanan Anda. Dan Anda membuatnya di akun dengan sumber daya Amazon Personalisasi dan memberinya izin untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalisasi Anda. Untuk informasi selengkapnya, lihat [Mengkonfigurasi izin saat sumber daya berada di akun yang berbeda](configuring-multiple-accounts.md). 

1. Berikan pengguna atau peran yang mengakses `PassRole` izin domain OpenSearch Layanan Anda untuk peran layanan IAM yang Anda buat untuk Layanan. OpenSearch Untuk informasi selengkapnya, lihat [Mengkonfigurasi keamanan domain OpenSearch Layanan Amazon](domain-user-managed.md).

Setelah Anda mengatur izin, Anda siap untuk menginstal plugin di domain Anda. Untuk informasi selengkapnya, lihat [Menginstal plugin](open-search-install-managed.md).

**Topics**
+ [Mengkonfigurasi izin saat sumber daya berada di akun yang sama](service-role-managed.md)
+ [Mengkonfigurasi izin saat sumber daya berada di akun yang berbeda](configuring-multiple-accounts.md)
+ [Mengkonfigurasi keamanan domain OpenSearch Layanan Amazon](domain-user-managed.md)

# Mengkonfigurasi izin saat sumber daya berada di akun yang sama
<a name="service-role-managed"></a>

Jika sumber daya OpenSearch Layanan dan Amazon Personalisasi berada di akun yang sama, Anda harus membuat peran layanan IAM untuk Layanan. OpenSearch Peran ini harus memiliki izin untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalize Anda. Berikut ini diperlukan untuk memberikan izin peran OpenSearch layanan Layanan Anda untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalize Anda:
+ Kebijakan kepercayaan peran harus memberikan `AssumeRole` izin untuk OpenSearch Layanan. Untuk contoh kebijakan kepercayaan, lihat[Contoh kebijakan kepercayaan](#opensearch-granting-access-managed-trust-policy). 
+ Peran tersebut harus memiliki izin untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalize Anda. Untuk contoh kebijakan, lihat[Contoh kebijakan izin](#opensearch-granting-access-managed-permissions-policy). 

Untuk informasi tentang membuat peran IAM, lihat [Membuat peran IAM di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) Pengguna *IAM*. *Untuk informasi tentang melampirkan kebijakan IAM ke peran, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) di Panduan Pengguna IAM.*

Setelah membuat peran layanan IAM untuk OpenSearch Layanan, Anda harus memberikan pengguna atau peran yang mengakses `PassRole` izin domain OpenSearch Layanan Anda untuk peran OpenSearch layanan Layanan. Untuk informasi selengkapnya, lihat [Mengkonfigurasi keamanan domain OpenSearch Layanan Amazon](domain-user-managed.md).

**Topics**
+ [Contoh kebijakan kepercayaan](#opensearch-granting-access-managed-trust-policy)
+ [Contoh kebijakan izin](#opensearch-granting-access-managed-permissions-policy)

## Contoh kebijakan kepercayaan
<a name="opensearch-granting-access-managed-trust-policy"></a>

Contoh kebijakan kepercayaan berikut memberikan `AssumeRole` izin untuk OpenSearch Layanan. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Principal": {
            "Service": [
                "es.amazonaws.com"
            ]
        }
    }]
}
```

------

## Contoh kebijakan izin
<a name="opensearch-granting-access-managed-permissions-policy"></a>

Contoh kebijakan berikut memberi peran izin minimum untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalize Anda. Untuk`Campaign ARN`, tentukan Nama Sumber Daya Amazon (ARN) dari kampanye Amazon Personalize Anda. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "personalize:GetPersonalizedRanking"
            ],
            "Resource": "arn:aws:personalize:us-east-1:111122223333:campaign/YourResourceId"
        }
    ]
}
```

------

# Mengkonfigurasi izin saat sumber daya berada di akun yang berbeda
<a name="configuring-multiple-accounts"></a>

Jika OpenSearch Layanan dan Amazon Personalisasi sumber daya berada di akun terpisah, Anda membuat peran IAM di setiap akun dan memberikan akses peran ke sumber daya di akun. 

**Untuk mengatur izin untuk beberapa akun**

1. Di akun tempat kampanye Amazon Personalisasi Anda ada, buat peran IAM yang memiliki izin untuk mendapatkan peringkat yang dipersonalisasi dari kampanye Amazon Personalize Anda. Saat Anda mengkonfigurasi plugin, Anda menentukan ARN untuk peran ini dalam `external_account_iam_role_arn` parameter prosesor `personalized_search_ranking` respons. Untuk informasi selengkapnya, lihat [Membuat pipeline di Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Untuk contoh kebijakan, lihat[Contoh kebijakan izin](service-role-managed.md#opensearch-granting-access-managed-permissions-policy).

1. Di akun tempat domain OpenSearch Layanan Anda ada, buat peran dengan kebijakan kepercayaan yang memberikan `AssumeRole` izin OpenSearch Layanan. Saat Anda mengkonfigurasi plugin, Anda menentukan ARN untuk peran ini dalam `iam_role_arn` parameter prosesor `personalized_search_ranking` respons. Untuk informasi selengkapnya, lihat [Membuat pipeline di Amazon OpenSearch Service](managed-opensearch-plugin-pipeline-example.md). 

   Untuk contoh kebijakan kepercayaan, lihat[Contoh kebijakan kepercayaan](service-role-managed.md#opensearch-granting-access-managed-trust-policy). 

1. Ubah setiap peran untuk memberikan `AssumeRole` izin peran lainnya. Misalnya, untuk peran yang memiliki akses ke sumber daya Amazon Personalisasi Anda, kebijakan IAM akan memberikan peran dalam akun dengan domain OpenSearch Layanan mengambil izin peran sebagai berikut: 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Sid": "",
           "Effect": "Allow",
           "Action": "sts:AssumeRole",
           "Resource": "arn:aws:iam::111122223333:role/roleName"
            
       }]
   }
   ```

------

1. Di akun tempat domain OpenSearch Layanan Anda ada, berikan pengguna atau peran yang mengakses `PassRole` izin domain OpenSearch Layanan Anda untuk peran layanan OpenSearch Layanan yang baru saja Anda buat. Untuk informasi selengkapnya, lihat [Mengkonfigurasi keamanan domain OpenSearch Layanan Amazon](domain-user-managed.md).

# Mengkonfigurasi keamanan domain OpenSearch Layanan Amazon
<a name="domain-user-managed"></a>

Untuk menggunakan plugin dengan OpenSearch Layanan, pengguna atau peran yang mengakses domain Anda harus memiliki `PassRole` izin untuk [peran layanan IAM untuk Layanan yang baru saja Anda buat OpenSearch ](service-role-managed.md). Juga, pengguna atau peran harus memiliki izin untuk melakukan `es:ESHttpGet` dan `es:ESHttpPut` tindakan.

Untuk informasi tentang mengonfigurasi akses ke OpenSearch Layanan, lihat [Keamanan di OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/security.html) di *Panduan Pengembang OpenSearch Layanan Amazon*. Untuk contoh kebijakan, lihat[Contoh kebijakan untuk pengguna atau peran OpenSearch Layanan](#opensearch-domain-user-policy-examples). 

## Contoh kebijakan untuk pengguna atau peran OpenSearch Layanan
<a name="opensearch-domain-user-policy-examples"></a>

Contoh kebijakan IAM berikut memberikan `PassRole` izin pengguna atau peran untuk peran layanan IAM yang Anda buat untuk Layanan. OpenSearch [Mengkonfigurasi izin saat sumber daya berada di akun yang sama](service-role-managed.md)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService"
        }
    ]
}
```

------

Kebijakan IAM berikut memberikan izin minimum untuk membuat pipeline dan kueri penelusuran dengan Service. OpenSearch 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "es:ESHttpGet",
                "es:ESHttpPut"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:ResourceTag/environment": [
                        "production"
                    ]
                }
            }
        }
    ]
}
```

------

# Menginstal plugin Amazon Personalize Search Ranking di domain Layanan OpenSearch
<a name="open-search-install-managed"></a>

Setelah menyelesaikan alur kerja Amazon Personalize dan memenuhi persyaratan yang tercantum[Persyaratan plugin](plugin-requirements.md), Anda siap untuk menginstal plugin di domain Anda.

 Untuk menggunakan plugin, Anda mengaitkan `Amazon_Personalize_Search_Ranking_Plugin` plugin dengan domain Anda. Plugin sudah diinstal sebelumnya, dan Anda tidak perlu mengimpornya dari Amazon S3. Anda mengaitkan plugin dengan cara yang sama seperti Anda mengaitkan paket OpenSearch Layanan. Untuk informasi tentang mengaitkan paket OpenSearch Layanan, lihat [Paket khusus untuk OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html#custom-packages-assoc). 

Setelah Anda mengaitkan plugin dengan domain Anda, Anda siap untuk mengkonfigurasi plugin. Anda mengonfigurasinya dengan membuat pipeline pencarian dan menentukan prosesor `personalized_search_ranking` respons. Untuk informasi selengkapnya, lihat [Membuat pipa](managed-opensearch-plugin-pipeline-example.md).

## Informasi tambahan tentang domain OpenSearch Layanan Amazon
<a name="opensearch-service-additional-information"></a>

Sumber daya berikut memberikan informasi tambahan tentang penggunaan domain OpenSearch Layanan Amazon. 
+ Untuk tutorial singkat untuk mengonfigurasi domain pengujian, lihat [Langkah 1: Membuat domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgcreate-domain) di bagian “Memulai” dari Panduan *Pengembang OpenSearch Layanan Amazon*.
+ Untuk langkah selengkapnya tentang mengonfigurasi domain OpenSearch Layanan, lihat [Membuat dan mengelola domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html).
+ Untuk tutorial singkat tentang mengunggah sejumlah kecil data pengujian ke OpenSearch Layanan, lihat [Langkah 2: Mengunggah data ke OpenSearch Layanan Amazon untuk diindeks](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html#gsgupload-data) di bagian “Memulai” pada Panduan Pengembang * OpenSearch Layanan Amazon*.
+ Untuk informasi selengkapnya tentang menelan data, lihat [Mengindeks data di OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/indexing.html) di Panduan *Pengembang OpenSearch Layanan Amazon*.

# Membuat pipeline di Amazon OpenSearch Service
<a name="managed-opensearch-plugin-pipeline-example"></a>

Setelah [menginstal plugin Amazon Personalize Search Ranking](open-search-install-managed.md), Anda siap mengonfigurasinya dengan membuat pipeline OpenSearch pencarian. 

*Pipeline pencarian* adalah sekumpulan prosesor permintaan dan respons yang berjalan secara berurutan sesuai urutan yang Anda buat. Saat Anda membuat pipeline pencarian untuk plugin, Anda menentukan prosesor `personalized_search_ranking` respons. Untuk informasi tentang saluran pipa pencarian, lihat [Cari saluran pipa](https://opensearch.org/docs/latest/search-plugins/search-pipelines/index/). 

Setelah membuat pipeline pencarian dengan prosesor `personalized_search_ranking` respons, Anda siap untuk mulai menerapkan plugin ke OpenSearch kueri. Anda dapat menerapkannya ke OpenSearch indeks atau OpenSearch kueri individual. Untuk informasi selengkapnya, lihat [Menerapkan plugin](managed-apply-plugin.md). 

Anda dapat menggunakan kode Python berikut untuk membuat pipeline pencarian dengan prosesor `personalized_search_ranking` respons pada domain OpenSearch Layanan. Ganti `domain endpoint` dengan URL endpoint domain Anda. Sebagai contoh: `https://<domain name>.<AWS region>.es-staging.amazonaws.com`. Untuk penjelasan lengkap dari setiap `personalized_search_ranking` parameter, lihat[Bidang untuk prosesor `personalized_search_ranking` respons](opensearch-plugin-pipeline-fields.md). 

```
import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
pipeline_name = 'pipeline name'
url = f'{domain_endpoint}/_search/pipeline/{pipeline_name}'
auth = AWSSigV4('es')

headers = {'Content-Type': 'application/json'}

body = {
  "description": "A pipeline to apply custom re-ranking from Amazon Personalize",
  "response_processors": [
    {
      "personalized_search_ranking" : {
        "campaign_arn" : "Amazon Personalize Campaign ARN",
        "item_id_field" : "productId",
        "recipe" : "aws-personalized-ranking-v2",
        "weight" : "0.3",
        "tag" : "personalize-processor",
        "iam_role_arn": "Role ARN",
        "aws_region": "AWS region",
        "ignore_failure": true
    }
  ]
}
try:
    response = requests.put(url, auth=auth, json=body, headers=headers, verify=False)
    print(response.text)
except Exception as e:
    print(f"Error: {e}")
```

# Menerapkan plugin ke kueri OpenSearch Layanan Amazon
<a name="managed-apply-plugin"></a>

Setelah [membuat pipeline](managed-opensearch-plugin-pipeline-example.md), Anda siap menerapkan plugin Amazon Personalize Search Ranking ke kueri. Anda dapat menerapkan plugin Amazon Personalize Search Ranking ke semua kueri dan tanggapan untuk indeks. Anda juga dapat menerapkan plugin untuk pertanyaan dan tanggapan individual. 
+  Anda dapat menggunakan kode Python berikut untuk menerapkan pipeline pencarian ke indeks. Dengan pendekatan ini, semua pencarian menggunakan indeks ini menggunakan plugin untuk menerapkan personalisasi ke hasil pencarian.

  ```
  import requests
  from requests_auth_aws_sigv4 import AWSSigV4
  
  domain_endpoint = 'domain endpoint'
  index = 'index name'
  url = f'{domain_endpoint}/{index}/_settings/'
  auth = AWSSigV4('es')
  headers = {'Content-Type': 'application/json'}
  body = {
      "index.search.default_pipeline": "pipeline name"
  }
  try:
      response = requests.put(url, auth=auth, json=body, headers=headers)
      print(response.text)
  except Exception as e:
      print(f"Error: {e}")
  ```
+ Anda dapat menggunakan kode Python berikut untuk menerapkan pipeline pencarian ke kueri individual untuk mobil merek Toyota.

  Perbarui kode untuk menentukan titik akhir domain, indeks OpenSearch Layanan, nama pipeline, dan kueri. Untuk`user_id`, tentukan ID pengguna tempat Anda mendapatkan hasil penelusuran. Pengguna ini harus berada dalam data yang Anda gunakan untuk membuat versi solusi Amazon Personalize Anda. Jika pengguna tidak hadir, Amazon Personalize memberi peringkat item berdasarkan popularitasnya.

  Untuk`context`, jika Anda menggunakan metadata kontekstual, berikan metadata kontekstual pengguna, seperti jenis perangkat mereka. `context`Bidang ini opsional. Lihat informasi yang lebih lengkap di [Meningkatkan relevansi rekomendasi dengan metadata kontekstual](contextual-metadata.md). 

  ```
  import requests
  from requests_auth_aws_sigv4 import AWSSigV4
  
  domain_endpoint = 'domain endpoint'
  index = 'index name'
  url = f'{domain_endpoint}/{index}/_search/'
  
  auth = AWSSigV4('es')
  headers = {'Content-Type': 'application/json'}
  params = {"search_pipeline": "pipeline-name"}
  body = {
      "query": {
          "multi_match": {
              "query": "Toyota",
              "fields": ["BRAND"]
          }
      },
      "ext": {
          "personalize_request_parameters": {
              "user_id": "USER ID",
              "context": { "DEVICE" : "mobile phone" }
          }
      }
  }
  try:
      response = requests.post(url, auth=auth, params=params, json=body, headers=headers, verify=False)
      print(response)
  except Exception as e:
      print(f"Error: {e}")
  ```

# Membandingkan hasil OpenSearch Layanan Amazon yang dipersonalisasi dengan hasil tanpa personalisasi
<a name="managed-comparing-results"></a>

Plugin Amazon Personalize Search Ranking mengatur ulang hasil pencarian berdasarkan peringkat dari Amazon Personalize dan peringkat dari. OpenSearch Cara plugin memberi peringkat ulang hasil tergantung pada bagaimana Anda mengonfigurasi prosesor `personalized_search_ranking` respons di saluran pipa Anda. 

Untuk memahami bagaimana hasil diberi peringkat, Anda dapat menjalankan kueri dengan dan tanpa personalisasi, dan membandingkan hasilnya. Anda dapat menggunakan kode Python berikut untuk menjalankan dua query yang berbeda dan output hasilnya ke dua file JSON. Metode pertama menjalankan kueri yang menggunakan plugin untuk menentukan peringkat ulang hasil. Yang kedua menjalankan metode yang menghasilkan hasil tanpa personalisasi.

```
import json
import requests
from requests_auth_aws_sigv4 import AWSSigV4


# Returns re-ranked OpenSearch results using the Amazon Personalize Search Ranking plugin.
def get_personalized_results(pipeline_name):
    url = f'{domain}/{index}/_search/'
    auth = AWSSigV4('es')
    headers = {'Content-Type': 'application/json'}
    params = {"search_pipeline": pipeline_name}
    body = {
        "query": {
            "multi_match": {
                "query": "Toyota",
                "fields": ["BRAND"]
            }
        },
        "ext": {
            "personalize_request_parameters": {
                "user_id": "1"
            }
        }
    }
    try:
        response = requests.post(url, auth=auth, params=params, json=body, headers=headers, verify=False)
    except Exception as e:
        return f"Error: {e}"
    return response.text


# Returns OpenSearch results without personalization.
def get_opensearch_results():
    url = f'{domain}/{index}/_search/'
    auth = AWSSigV4('es')
    headers = {'Content-Type': 'application/json'}
    body = {
        "query": {
            "multi_match": {
                "query": "Toyota",
                "fields": ["BRAND"]
            }
        }
    }
    try:
        response = requests.post(url, auth=auth, json=body, headers=headers, verify=False)
    except Exception as e:
        return f"Error: {e}"
    return response.text


def print_results(file_name, results):
    results_file = open(file_name, 'w')
    results_file.write(json.dumps(results, indent=4))
    results_file.close()


# specify domain endpoint
domain = "DOMAIN_ENDPOINT"

# specify the region where you created your Amazon Personalize resources and Amazon OpenSearch domain
aws_region = "REGION"

# specify the name of the pipeline that uses the Amazon Personalize plugin
pipeline_name = "PIPELINE_NAME"

# specify your Amazon OpenSearch index
index = "INDEX"

# specify names for json files for comparison
personalized_results_file = "personalized_results.json"
opensearch_results_file = "opensearch_results.json"

# get personalized results
personalized_results = json.loads(get_personalized_results(pipeline_name))

# get OpenSearch results without personalization
opensearch_results = json.loads(get_opensearch_results())

# print results to files
print_results(personalized_results_file, personalized_results)
print_results(opensearch_results_file, opensearch_results)
```

# Memantau plugin dengan Amazon OpenSearch Service
<a name="managed-monitor"></a>

Saat Anda menerapkan plugin Amazon Personalize Search Ranking ke OpenSearch kueri, Anda dapat memantau plugin dengan mendapatkan metrik untuk pipeline pencarian Anda. Metrik pipeline mencakup statistik seperti jumlah permintaan gagal untuk prosesor `personalized_search_ranking` respons. 

 Jika Anda menggunakan OpenSearch Layanan, Anda dapat memantau plugin melalui metrik di Amazon CloudWatch. Untuk informasi selengkapnya, lihat [Memantau domain OpenSearch Layanan Amazon](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/monitoring.html). 

Anda dapat menggunakan kode Python berikut untuk mendapatkan metrik untuk semua pipeline Anda. Untuk contoh metrik pipeline, lihat[Contoh metrik pipa](monitor-response.md).

```
import requests
from requests_auth_aws_sigv4 import AWSSigV4

domain_endpoint = 'domain endpoint'
url = f'{domain_endpoint}/_nodes/stats/search_pipeline'

auth = AWSSigV4('es')
headers = {'Content-Type': 'application/json'}
try:
    response = requests.get(url, auth=auth, headers=headers, verify=False)
    print(response.text)
except Exception as e:
    print(f"Error: {e}")
```