본문 바로가기
WIKI 기술 지식 베이스

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(자체 관리) 검색 결과 개인화를 참조하세요.

더 알아보기 (Learn more)