本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 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}")