Link Search Menu Expand Document Documentation Menu

个性化搜索排名处理器

2.9 版本引入

personalize_search_ranking 搜索响应处理器会拦截搜索响应,并使用 Amazon Personalize 根据其 Amazon Personalize 排名重新排序搜索结果。此排名基于用户的过去行为以及搜索项目和用户的元数据。

要使用 personalize_search_ranking 处理器,您必须首先安装 Amazon Personalize 搜索排名(opensearch-search-processor)插件。有关详细说明,请参阅安装和配置 Amazon Personalize 搜索排名插件

请求正文字段

下表列出了所有可用的请求字段。

字段 数据类型 描述
campaign_arn 字符串 用于个性化结果的 Amazon Personalize 活动的 Amazon 资源名称 (ARN)。必填。
recipe 字符串 要使用的 Amazon Personalize 配方的名称。目前,此字段唯一支持的值是 aws-personalized-ranking。必填。
weight 浮点型 用于 OpenSearch 和 Amazon Personalize 提供的排名的权重。有效值在 [0.0, 1.0] 范围内。权重越接近 1.0,在计算排名时,Amazon Personalize 的权重就越大,而不是 OpenSearch。如果指定 0.0,则使用 OpenSearch 排名。如果指定 1.0,则使用 Amazon Personalize 排名。必填。
item_id_field 字符串 如果 OpenSearch 中索引文档的 _id 字段与您的 Amazon Personalize itemId 不对应,请指定对应的字段名称。默认情况下,插件假定 _id 数据与您的 Amazon Personalize 数据中的 itemId 匹配。
iam_role_arn 字符串 如果您使用多个角色来限制组织中不同用户组的权限,请指定具有访问 Amazon Personalize 权限的角色的 ARN。如果您只使用 OpenSearch 密钥库中的 AWS 凭据,则可以省略此字段。可选。
tag 字符串 处理器的标识符。可选。
description 字符串 处理器的描述。可选。
ignore_failure 布尔型 如果为 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"
      }
    }
  ]
}

使用搜索管道

要使用管道进行搜索,请在 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" }
    }
  }
}

有关其他详细信息,请参阅个性化 OpenSearch (自管理) 搜索结果

剩余 350 字符

有问题?

想要贡献?