

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

# 对 OpenSearch 搜索结果进行个性化设置
<a name="personalize-opensearch"></a>

您可以使用 Amazon Personalize 为您的用户对开源 OpenSearch 或 Amazon OpenSearch Service 结果进行个性化设置。

 [OpenSearch](https://opensearch.org/docs/latest) 是一项基于 Apache 2.0 许可证的自托管开源搜索服务。[Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) 是一项托管服务，可帮助您在 AWS 云中部署、运行并扩展 OpenSearch 资源。当您使用 Amazon OpenSearch Service 时，OpenSearch 会检索结果并对其进行排名。

对查询结果排名时，OpenSearch 使用名为 [BM-25](https://en.wikipedia.org/wiki/Okapi_BM25) 的概率排名框架来计算相关性得分。如果独特的关键词在文档中出现较为频繁，BM-25 会为该文档分配更高的相关性分数。OpenSearch 排名不考虑点击数据等用户行为。

 将 Amazon Personalize 与 OpenSearch 结合使用时，Amazon Personalize 会根据用户过去的行为、有关物品的任何元数据以及用户相关的任何元数据，对 OpenSearch 结果进行重新排名。随后，OpenSearch 会合并重新排名，然后再将搜索响应返回到您的应用程序。在将 Amazon Personalize 的排名应用于 OpenSearch 结果时，您可以控制 OpenSearch 给予该排名的权重。

 通过这个重新排名，结果可以更具吸引力，更符合用户的兴趣。这可以提高应用程序的点击率和转化率。有关描述个性化搜索如何改善电子商务应用程序结果的使用案例示例，请参阅[使用案例示例](#opensearch-use-case-example)。

 在开始对 OpenSearch 结果进行个性化设置之前，请查看[Amazon Personalize 搜索排名插件要求](plugin-requirements.md)中列出的要求。

**Topics**
+ [使用案例示例](#opensearch-use-case-example)
+ [Amazon Personalize 搜索排名插件的工作原理](#opensearch-plugin-how-it-works)
+ [其他信息](#open-search-plugin-additional-info)
+ [Amazon Personalize 搜索排名插件要求](plugin-requirements.md)
+ [使用 Amazon Personalize 对来自亚马逊 OpenSearch 服务的结果进行个性化设置](opensearch-service.md)
+ [使用 Amazon Personalize 对开源 OpenSearch 的结果进行个性化设置](opensearch-open-source.md)
+ [`personalized_search_ranking` 响应处理器的字段](opensearch-plugin-pipeline-fields.md)
+ [管道指标示例](monitor-response.md)

## 使用案例示例
<a name="opensearch-use-case-example"></a>

当您使用 Amazon Personalize 对 OpenSearch 结果进行重新排名时，搜索结果可能与您的用户更加相关。例如，您可能有一个销售汽车的电子商务应用程序。如果您的用户输入了丰田汽车的查询，而您没有对结果进行个性化设置，则 OpenSearch 将根据您数据中的关键字返回丰田汽车制造的汽车列表。对于所有用户，此列表将按相同的顺序进行排名。

但是，如果您使用 Amazon Personalize 对结果进行个性化设置，则 OpenSearch 会根据特定用户的行为（例如单击次数）按与特定用户的相关性顺序对这些汽车进行重新排名。用户最有可能单击的汽车排在第一位。

在对 OpenSearch 结果进行个性化设置时，您可以控制 OpenSearch 给予 Amazon Personalize 排名的权重（重视度）。继续此示例，如果用户搜索特定年份特定类型的汽车（例如 2008 Toyota Prius），则您可能需要更加重视 OpenSearch 的原始排名。

但是，对于能够产生广泛结果且更通用的查询（例如搜索所有丰田汽车），您可能会高度重视个性化。这样，列表顶部的汽车与特定用户更加相关。

## Amazon Personalize 搜索排名插件的工作原理
<a name="opensearch-plugin-how-it-works"></a>

下图显示了 Amazon Personalize 搜索排名插件的工作原理。

![描述了使用插件对 OpenSearch 结果进行个性化设置时该插件的工作原理。](http://docs.aws.amazon.com/zh_cn/personalize/latest/dg/images/opensearch-plugin-how-it-works.png)


1. 您将客户的查询提交到您的 OpenSearch Service 域或您的开源 OpenSearch 集群。

1.  OpenSearch 将查询响应（与查询相关的物品列表）和用户 ID 发送到 Amazon Personalize 搜索排名插件。

1. 该插件将响应中的物品和用户发送到您的 Amazon Personalize 市场活动，以进行排名。它使用搜索管道中的食谱和市场活动 Amazon 资源名称 (ARN) 值为用户获取个性化排名。它使用 GetPersonalizedRanking API 操作来获取建议。在请求中，它传递进行查询的用户的 userId 以及从 `inputList` 中 OpenSearch 查询返回的项。

1.  Amazon Personalize 将重新排名的结果返回给插件。

1. 该插件重新排列搜索结果并将其返回到您的 OpenSearch Service 域或开源 OpenSearch 集群。它根据 Amazon Personalize 市场活动的响应以及您在设置过程中指定的个性化重视程度，对结果重新排名。

1. 您的开源 OpenSearch 集群或 OpenSearch Service 域将最终结果返回到您的应用程序。

## 其他信息
<a name="open-search-plugin-additional-info"></a>

以下资源提供有关使用 OpenSearch 的更多信息。
+ 有关开源 OpenSearch 入门的信息，请参阅[快速入门](https://opensearch.org/docs/quickstart)。
+ 有关 OpenSearch Service 入门的信息，请参阅《Amazon OpenSearch Service 开发人员指南》**中的 [Amazon OpenSearch Service 入门](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/gsg.html)。
+ 有关 Amazon Personalize 中的 Personalized-Ranking 配方的信息，请参阅 [Personalized-Ranking-v2 配方](native-recipe-personalized-ranking-v2.md)或 [Personalized-Ranking 食谱](native-recipe-search.md)。