调整和排序响应 - Amazon Kendra

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

调整和排序响应

注意

功能支持因索引类型和使用的搜索 API 而异。要查看您使用的索引类型和搜索 API 是否支持此功能,请参阅索引类型

您可以通过相关性调整来修改字段或属性对搜索相关性的影响。您也可以按特定属性或字段对搜索结果进行排序。

优化响应

您可以通过相关性调整来修改字段或属性对搜索相关性的影响。要快速测试相关性调整,请使用查询 API 在查询中传递调整配置。然后,您可以看到从不同配置中获得的不同搜索结果。控制台不支持在查询级别进行相关性调整。您也可以仅StringList在索引级别调整该类型的字段或属性。有关更多信息,请参阅调整搜索相关性

默认情况下,查询响应按响应中每个结果的 Amazon Kendra 相关性分数排序。

您可以调整以下类型的任何内置或自定义属性/字段的结果:

  • 日期值

  • 长型值。

  • 字符串值

您无法对以下类型的属性进行排序:

  • 字符串列表值

对文档结果进行排名和调整 (AWS SDK)

Searchable参数设置为 true 以增强文档元数据配置。

要调整查询中的属性,请设置 Query API 的DocumentRelevanceOverrideConfigurations参数并指定要调整的属性的名称。

以下 JSON 示例显示了一个DocumentRelevanceOverrideConfigurations对象,该对象会覆盖对索引中名为“部门”的属性的调整。

"DocumentRelevanceOverrideConfigurations" : [ "Name": "department", "Relevance": { "Importance": 1, "ValueImportanceMap": { "IT": 3, "HR": 7 } } ]

对响应进行排序

Amazon Kendra 使用排序属性或字段作为查询返回的文档的标准的一部分。例如,按“_created_at”排序的查询返回的结果可能与按“_version”排序的查询所包含的结果不一样。

默认情况下,查询响应按响应中每个结果的 Amazon Kendra 相关性分数排序。要更改排序顺序,请将文档属性设置为可排序,然后配置 Amazon Kendra 为使用该属性对响应进行排序。

您可以对以下类型的任何内置或自定义属性/字段的结果进行排序:

  • 日期值

  • 长型值。

  • 字符串值

您无法对以下类型的属性进行排序:

  • 字符串列表值

您可以在每个查询中根据一个或多个文档属性进行排序。查询返回 100 个结果。如果设置了排序属性的文档少于 100 个,则在结果末尾返回没有排序属性值的文档,按与查询的相关性进行排序。

对文档结果进行排序 (AWS SDK)
  1. 要使用 UpdateIndexAPI 使属性可排序,请将Sortable参数设置为。true以下 JSON 示例用于DocumentMetadataConfigurationUpdates向索引添加名为“部门”的属性并使其可排序。

    "DocumentMetadataConfigurationUpdates": [ { "Name": "Department", "Type": "STRING_VALUE", "Search": { "Sortable": "true" } } ]
  2. 要在查询中使用一个可排序的属性,请设置查询 API 的SortingConfiguration参数。指定要排序的属性的名称以及是按升序还是降序对响应进行排序。

    以下 JSON 示例显示了您用来按“部门”属性按升序对查询结果进行排序的SortingConfiguration参数。

    "SortingConfiguration": { "DocumentAttributeKey": "Department", "SortOrder": "ASC" }
  3. 要在查询中使用多个可排序属性,请设置查询 API 的SortingConfigurations参数。您最多可以设置 3 个对结果 Amazon Kendra 进行排序的字段。您还可以指定结果是按升序还是降序排序。排序字段配额可以增加。

    如果您不提供排序配置,则按 Amazon Kendra 决定结果的相关性对结果进行排序。如果结果排序有平局,则按相关性对结果进行排序。

    以下 JSON 示例显示了您用来按属性“名称”和“价格”升序对查询结果进行排序的SortingConfigurations参数。

    "CollapseConfiguration" : { "DocumentAttributeKey": "Name", "SortingConfigurations": [ { "DocumentAttributeKey": "Price", "SortOrder": "ASC" } ], "MissingAttributeKeyStrategy": "IGNORE" }
对文档结果排序(控制台)
注意

目前不支持多属性排序。 AWS Management Console

  1. 要使属性可在控制台中排序,请在属性定义中选择“可排序”。可以在创建属性时对属性进行排序,也可以稍后对其进行修改。

  2. 要在控制台中对查询响应进行排序,请从“排序”菜单中选择要对响应进行排序的属性。只有在数据来源配置期间标记为可排序的属性才会出现在列表中。