

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon Personalize 搜索排名插件应用于开源 OpenSearch 中的查询
<a name="opensource-apply-plugin"></a>

您可以将 Amazon Personalize 搜索排名插件应用于 OpenSearch 索引的所有查询和响应。您也可以将该插件应用于单个 OpenSearch 查询和响应。
+  以下 curl 命令将搜索管道应用于本地运行的开源 OpenSearch 集群中的 OpenSearch 索引。通过这种方法，所有使用此索引的搜索都使用该插件将个性化应用于搜索结果。

  ```
  curl -XGET "https://localhost:9200/index/_settings" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d'
  {
    "index.search.default_pipeline": "pipeline-name"
  }
  '
  ```
+ 以下 curl 命令将搜索管道应用于本地运行的开源 OpenSearch 集群索引中针对丰田品牌汽车的单个查询。

   对于 `user_id`，指定要获取搜索结果的用户的 ID。该用户必须出现在您用于创建 Amazon Personalize 解决方案版本的数据中。如果用户不在此类数据中，则 Amazon Personalize 会根据物品的受欢迎程度对其进行排名。对于 `context`，如果您使用上下文元数据，请提供用户的上下文元数据，例如其设备类型。`context` 字段为可选项。有关更多信息，请参阅 [利用上下文元数据提高建议的相关性](contextual-metadata.md)。

  ```
  curl -XGET "http://localhost:9200/index/_search?search_pipeline=pipeline-name" -ku 'admin:admin' --insecure -H 'Content-Type: application/json' -d'
  {
    "query": {
      "multi_match": {
        "query": "Toyota",
        "fields": ["BRAND"]
      }
    },
    "ext": {
      "personalize_request_parameters": {
        "user_id": "USER ID",
        "context": { "DEVICE": "mobile phone" }
      }
    }
  }
  '
  ```

 要了解如何对结果进行重新排名，您可以通过该插件使用 OpenSearch 控制面板，将 OpenSearch 结果与重新排名的结果进行比较。有关更多信息，请参阅 [比较个性化 OpenSearch 结果与不进行个性化的结果](opensource-comparing-results.md)。

 将插件应用于 OpenSearch 查询时，您可以通过获取 OpenSearch 管道的指标来监控插件。有关更多信息，请参阅 [通过开源 OpenSearch 监控插件](opensource-monitor.md)。