本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调整和排序响应
注意
功能支持因索引类型和使用的搜索 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)
-
要使用 UpdateIndexAPI 使属性可排序,请将
Sortable
参数设置为。true
以下 JSON 示例用于DocumentMetadataConfigurationUpdates
向索引添加名为“部门”的属性并使其可排序。"DocumentMetadataConfigurationUpdates": [ { "Name": "Department", "Type": "STRING_VALUE", "Search": { "Sortable": "true" } } ]
-
要在查询中使用一个可排序的属性,请设置查询 API 的
SortingConfiguration
参数。指定要排序的属性的名称以及是按升序还是降序对响应进行排序。以下 JSON 示例显示了您用来按“部门”属性按升序对查询结果进行排序的
SortingConfiguration
参数。"SortingConfiguration": { "DocumentAttributeKey": "Department", "SortOrder": "ASC" }
-
要在查询中使用多个可排序属性,请设置查询 API 的
SortingConfigurations
参数。您最多可以设置 3 个对结果 Amazon Kendra 进行排序的字段。您还可以指定结果是按升序还是降序排序。排序字段配额可以增加。如果您不提供排序配置,则按 Amazon Kendra 决定结果的相关性对结果进行排序。如果结果排序有平局,则按相关性对结果进行排序。
以下 JSON 示例显示了您用来按属性“名称”和“价格”升序对查询结果进行排序的
SortingConfigurations
参数。"CollapseConfiguration" : { "DocumentAttributeKey": "Name", "SortingConfigurations": [ { "DocumentAttributeKey": "Price", "SortOrder": "ASC" } ], "MissingAttributeKeyStrategy": "IGNORE" }
对文档结果排序(控制台)
注意
目前不支持多属性排序。 AWS Management Console
-
要使属性可在控制台中排序,请在属性定义中选择“可排序”。可以在创建属性时对属性进行排序,也可以稍后对其进行修改。
-
要在控制台中对查询响应进行排序,请从“排序”菜单中选择要对响应进行排序的属性。只有在数据来源配置期间标记为可排序的属性才会出现在列表中。