

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon OpenSearch Service 中创建管道
<a name="managed-opensearch-plugin-pipeline-example"></a>

[安装 Amazon Personalize 搜索排名插件](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}")
```