在 Amazon OpenSearch Service 中创建管道 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Amazon OpenSearch Service 中创建管道

安装 Amazon Personalize 搜索排名插件后,就可以对其进行配置了,方法是:创建 OpenSearch 搜索管道。

搜索管道 是一组请求和响应处理器,可按照您创建此类处理器的顺序依次对其运行。为插件创建搜索管道时,指定 personalized_search_ranking 响应处理器。有关搜索管道的信息,请参阅搜索管道

创建带有 personalized_search_ranking 响应处理器的搜索管道后,就可以开始将该插件应用于 OpenSearch 查询了。您可以将其应用于 OpenSearch 索引或单个 OpenSearch 查询。有关更多信息,请参阅 应用插件

您可以使用以下 Python 代码在 OpenSearch Service 域上创建带有 personalized_search_ranking 响应处理器的搜索管道。将 domain endpoint 替换为您的域端点 URL。例如:https://<domain name>.<Amazon region>.es-staging.amazonaws.com。有关每个 personalized_search_ranking 参数的完整说明,请参阅 personalized_search_ranking 响应处理器的字段

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", "weight" : "0.3", "tag" : "personalize-processor", "iam_role_arn": "Role ARN", "aws_region": "Amazon 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}")