Personalize search ranking processor
출처: 문서
본문
Personalize 검색 순위 프로세서
2.9에서 도입됨 {: .label .label-purple }
personalize_search_ranking 검색 응답 프로세서는 검색 응답을 가로채서 Amazon Personalize를 사용하여 Amazon Personalize 순위에 따라 검색 결과를 다시 정렬합니다. 이 순위는 사용자의 과거 행동과 검색 항목 및 사용자에 대한 메타데이터를 기반으로 합니다.
personalize_search_ranking 프로세서를 사용하려면 먼저 Amazon Personalize Search Ranking(opensearch-search-processor) 플러그인을 설치해야 합니다. 자세한 내용은 Amazon Personalize Search Ranking 플러그인 설치 및 구성을 참조하세요.
{: .important}
요청 본문 필드
다음 표에는 사용 가능한 모든 요청 필드가 나와 있습니다.
| 필드 | 데이터 타입 | 설명 |
|---|---|---|
campaign_arn |
String | 결과를 개인화하는 데 사용되는 Amazon Personalize 캠페인의 Amazon 리소스 이름(ARN)입니다. 필수. |
recipe |
String | 사용할 Amazon Personalize 레시피의 이름입니다. 지원되는 유일한 값은 aws-personalized-ranking입니다. 필수. |
weight |
Float | OpenSearch와 Amazon Personalize에서 제공하는 순위에 사용할 가중치입니다. 유효한 값은 [0.0, 1.0] 범위입니다. 가중치가 1.0에 가까울수록 순위 계산 시 OpenSearch보다 Amazon Personalize에 더 많은 가중치가 부여됩니다. 0.0을 지정하면 OpenSearch 순위가 사용됩니다. 1.0을 지정하면 Amazon Personalize 순위가 사용됩니다. 필수. |
item_id_field |
String | OpenSearch에서 인덱싱된 문서의 _id 필드가 Amazon Personalize itemId와 일치하지 않는 경우, 일치하는 필드의 이름을 지정합니다. 기본적으로 플러그인은 _id 데이터가 Amazon Personalize 데이터의 itemId와 일치한다고 가정합니다. |
iam_role_arn |
String | 조직의 여러 사용자 그룹에 대한 권한을 제한하기 위해 여러 역할을 사용하는 경우 Amazon Personalize에 액세스할 수 있는 권한이 있는 역할의 ARN을 지정합니다. OpenSearch 키스토어에서 AWS 자격 증명만 사용하는 경우 이 필드는 생략할 수 있습니다. 선택 사항. |
tag |
String | 프로세서의 식별자입니다. 선택 사항. |
description |
String | 프로세서에 대한 설명입니다. 선택 사항. |
ignore_failure |
Boolean | true인 경우 OpenSearch는 이 프로세서의 모든 실패를 무시하고 검색 파이프라인에서 나머지 프로세서를 계속 실행합니다. 선택 사항. 기본값은 false입니다. |
예제
다음 예제는 personalize_search_ranking 프로세서와 함께 검색 파이프라인을 사용하는 방법을 보여줍니다.
검색 파이프라인 생성
다음 요청은 personalize_search_ranking 응답 프로세서를 사용하여 검색 파이프라인을 생성합니다.
PUT /_search/pipeline/my-pipeline
{
"description": "A pipeline to apply custom reranking 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"
}
}
]
}
{% include copy-curl.html %}
검색 파이프라인 사용
파이프라인으로 검색하려면 search_pipeline 쿼리 매개변수에 파이프라인 이름을 지정합니다. 예를 들어, 다음 요청은 이전 섹션에서 설정한 파이프라인을 사용하여 코미디를 검색합니다.
GET /movies/_search?search_pipeline=my-pipeline
{
"query": {
"multi_match": {
"query": "Comedy",
"fields": ["GENRES"]
}
},
"ext": {
"personalize_request_parameters": {
"user_id": "user ID",
"context": { "DEVICE" : "mobile phone" }
}
}
}
{% include copy-curl.html %}
자세한 내용은 OpenSearch(자체 관리) 검색 결과 개인화를 참조하세요.