

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

# 调整和排序响应
<a name="tuning-sorting-responses"></a>

**注意**  
功能支持因所用索引类型和搜索 API 而异。要查看您使用的索引类型和搜索 API 是否支持此功能，请参阅[索引类型](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html)。

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

**Topics**
+ [优化响应](#tuning-responses)
+ [对响应进行排序](#sorting-responses)

## 优化响应
<a name="tuning-responses"></a>

您可以通过相关性调整来修改字段或属性对搜索相关性的影响。要快速测试相关性调整，请使用[查询](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 在查询中传递调整配置。然后，您可以看到从不同配置中获得的不同搜索结果。控制台不支持在查询级别进行相关性调整。您也可以仅`StringList`在索引级别调整该类型的字段或属性。有关更多信息，请参阅[调整搜索相关性](https://docs.aws.amazon.com/kendra/latest/dg/tuning.html)。

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

您可以调整以下任何内置类型或自定义 attribute/field 类型的结果：
+ 日期值
+ 长型值。
+ 字符串值

您无法对以下类型的属性进行排序：
+ 字符串列表值

**对文档结果进行排名和调整 (AWS SDK)**  
将`Searchable`参数设置为 true 以增强文档元数据配置。

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

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

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

## 对响应进行排序
<a name="sorting-responses"></a>

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

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

您可以按以下任意内置类型或自定义类型 attribute/field 对结果进行排序：
+ 日期值
+ 长型值。
+ 字符串值

您无法对以下类型的属性进行排序：
+ 字符串列表值

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

**对文档结果进行排序 (AWS SDK)**

1. 要使用 [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html)API 使属性可排序，请将`Sortable`参数设置为。`true`以下 JSON 示例用于`DocumentMetadataConfigurationUpdates`向索引添加名为“部门”的属性并使其可排序。

   ```
   "DocumentMetadataConfigurationUpdates": [
      {
          "Name": "Department",
          "Type": "STRING_VALUE",
          "Search": {
              "Sortable": "true"
          }
      }
   ]
   ```

1. 要在查询中使用一个可排序的属性，请设置[查询](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 的`SortingConfiguration`参数。指定要排序的属性的名称以及是按升序还是降序对响应进行排序。

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

   ```
      "SortingConfiguration": { 
         "DocumentAttributeKey": "Department",
         "SortOrder": "ASC"
      }
   ```

1. 要在查询中使用多个可排序属性，请设置[查询](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 的`SortingConfigurations`参数。您最多可以设置 3 个对结果 Amazon Kendra 进行排序的字段。您还可以指定结果是按升序还是降序排序。排序字段配额可以增加。

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

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

   ```
   "CollapseConfiguration" : {
       "DocumentAttributeKey": "Name",
       "SortingConfigurations": [
           { 
               "DocumentAttributeKey": "Price",
               "SortOrder": "ASC"
           }
       ],
       "MissingAttributeKeyStrategy": "IGNORE"
   }
   ```

**对文档结果排序（控制台）**
**注意**  
目前不支持多属性排序。 AWS 管理控制台

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

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