在 Amazon OpenSearch 服務中創建管道 - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon OpenSearch 服務中創建管道

安裝 Amazon Personalize 搜尋排名外掛程式之後,您就可以透過建立 OpenSearch 搜尋管道進行設定。

搜尋管道是一組請求和回應處理器,它們會依您建立的順序順序執行。當您建立外掛程式的搜尋管道時,您可以指定personalized_search_ranking回應處理器。如需搜尋管道的相關資訊,請參閱搜尋管道

使用personalized_search_ranking回應處理器建立搜尋管道後,就可以開始將外掛程式套用至 OpenSearch 查詢。您可以將其套用至 OpenSearch 索引或個別 OpenSearch 查詢。如需詳細資訊,請參閱應用插件

您可以使用下列 Python 程式碼,在 OpenSearch 服務網域上建立含有personalized_search_ranking回應處理器的搜尋管線。domain endpoint以您的網域端點取代URL。例如:https://<domain name>.<AWS 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": "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}")