本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
配置插件
安裝 Amazon Personalize 搜尋排名外掛程式之後,您就可以透過建立 OpenSearch 搜尋管道進行設定。
搜尋管道是一組請求和回應處理器,它們會依您建立的順序順序執行。當您建立外掛程式的搜尋管道時,您可以指定personalized_search_ranking
回應處理器。如需搜尋管道的相關資訊,請參閱搜尋管道
personalized_search_ranking
響應處理器的字段
針對personalized_search_ranking
回應處理器,您可以指定下列欄位:
-
campaign_arn(必填)— 指定 Amazon 個性化廣告系列的亞馬遜資源名稱(ARN)以用於個性化結果。
-
item_id_field (選用) — 如果中索引文件的
_id
欄位與您的 Amazon Personalize 項目 MID OpenSearch 不對應,請指定要執行的欄位名稱。根據預設,外掛程式會假設資_id
料與 Amazon Personalize 資料中的 iTiID 相符。 -
配方 (必要) — 指定要使用的 Amazon Personalize 配方名稱。您只能指定
aws-personalized-ranking
。 -
weight (必要) — 指定回應處理器在重新排名結果時強調個人化的重點。指定介於 0.0—1.0 之間的值。越接近它
1.0
是, 越有可能是結果從 Amazon Personalize 化排名更高. 如果您指定0.0
,則不會發生個人化,而且 OpenSearch 優先順序。 -
tag (選用) — 指定處理器的識別碼。
-
iam_role_arn ( OpenSearch 服務需要,開放原始碼為選用 OpenSearch) — 對於 OpenSearch 服務,請為您在設定服務存取 Amazon 個人化資源的許可時建立的角色提供 Amazon 資源名稱 (ARN)。 OpenSearch 如果您的 OpenSearch 服務和 Amazon Personalize 資源存在於不同的帳戶中,請指定授與 OpenSearch 服務
AssumeRole
許可的角色。如需詳細資訊,請參閱 當資源位於不同帳戶時設定權限。對於開放原始碼 OpenSearch,如果您使用多個角色來限制組織中不同使用者群組的許可,請指定具有存取 Amazon Personalize 權限之角色的 ARN。如果您只使用 OpenSearch 金鑰儲存庫中的 AWS 認證,則可以省略此欄位。
-
aws_region (必填) — 您建立 Amazon Personalize 行銷活動的 AWS 區域。
-
忽略失敗 (選擇性) — 指定外掛程式是否忽略任何處理器失敗。對於值,請指定
true
或false
。對於您的生產環境,我們建議您指定true
以避免任何查詢回應中斷。對於測試環境,您可以指false
定檢視外掛程式產生的任何錯誤。 -
外部al_account_iam_role_arn — 如果您使用 OpenSearch 服務,且您的 Amazon Personalize 和服 OpenSearch 務資源存在於不同的帳戶中,請指定有權存取您的 Amazon Personalize 資源的角色 ARN。此角色必須存在於與您的 Amazon Personalize 資源相同的帳戶中。如需詳細資訊,請參閱 當資源位於不同帳戶時設定權限。
使用 Amazon OpenSearch 服務創建管道
您可以使用下列 Python 程式碼,在 OpenSearch 服務網域上建立含有personalized_search_ranking
回應處理器的搜尋管線。domain endpoint
以您的網域端點 URL 取代。例如:https://<domain
name>.<AWS region>.es-staging.amazonaws.com
。
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}")
使用personalized_search_ranking
回應處理器建立搜尋管道之後,就可以開始將外掛程式套用至 OpenSearch 查詢。您可以將其套用至 OpenSearch 索引或個別 OpenSearch 查詢。如需詳細資訊,請參閱 將外掛程式套用至 OpenSearch 查詢。
使用開放原始碼建立管道 OpenSearch
您可以使用下列 curl 指令,在開放原始碼 OpenSearch 叢集上建立含有personalized_search_ranking
回應處理器的搜尋管道。
curl -X PUT "http://localhost:9200/_search/pipeline/
pipeline-name
" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d' { "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
} } ] }'
使用personalized_search_ranking
回應處理器建立搜尋管道之後,就可以開始將外掛程式套用至 OpenSearch 查詢。您可以將其套用至 OpenSearch 索引或個別 OpenSearch 查詢。如需詳細資訊,請參閱 將外掛程式套用至 OpenSearch 查詢。