

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon OpenSearch Service のパイプラインを作成する
<a name="managed-opensearch-plugin-pipeline-example"></a>

[Amazon Personalize Search Ranking プラグインをインストール](open-search-install-managed.md)したら、OpenSearch 検索パイプラインを作成して設定する準備が整います。

*検索パイプライン*は、作成した順序で順番に実行されるリクエストプロセッサとレスポンスプロセッサのセットです。プラグインの検索パイプラインを作成するときは、`personalized_search_ranking` レスポンスプロセッサを指定します。検索パイプラインについて詳しくは、「[検索パイプライン](https://opensearch.org/docs/latest/search-plugins/search-pipelines/index/)」を参照してください。

`personalized_search_ranking` レスポンスプロセッサを含む検索パイプラインを作成したら、OpenSearch クエリにプラグインを適用する準備が整います。このプラグインを OpenSearch インデックスに適用することも、個々の OpenSearch クエリに適用することもできます。詳細については、「[プラグインの適用](managed-apply-plugin.md)」を参照してください。

次の Python コードを使用して、OpenSearch Service ドメインに `personalized_search_ranking` レスポンスプロセッサを備えた検索パイプラインを作成できます。`domain endpoint` をドメインのエンドポイント URL に置き換えます。例: `https://<domain name>.<AWS region>.es-staging.amazonaws.com`。各 `personalized_search_ranking` パラメータの詳細については、「[`personalized_search_ranking` レスポンスプロセッサのフィールド](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}")
```