

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

# 步骤 5：查询 Amazon Kendra 索引
<a name="tutorial-search-metadata-query-kendra"></a>

您的 Amazon Kendra 索引现在可以进行自然语言查询了。当您搜索索引时，Amazon Kendra 会使用您提供的所有数据和元数据为您的搜索查询返回最准确的答案。

Amazon Kendra 可以回答三种查询：
+ 事实类查询（“谁”、“什么”、“何时”或“何处”问题）
+ 描述性查询（“如何”问题）
+ 关键词搜索（意图和范围不清楚的问题）

**Topics**
+ [查询您的 Amazon Kendra 索引](#tutorial-search-metadata-query-kendra-basic)
+ [筛选您的搜索结果](#tutorial-search-metadata-query-kendra-filters)

## 查询您的 Amazon Kendra 索引
<a name="tutorial-search-metadata-query-kendra-basic"></a>

您可以使用与 Amazon Kendra 支持的三种查询相对应的问题来查询您的 Amazon Kendra 索引。有关更多信息，请参阅[查询](https://docs.aws.amazon.com/kendra/latest/dg/searching-example.html)。

本节中的示例问题是根据样本数据集选择的。

### 查询您的 Amazon Kendra 索引（控制台）
<a name="tutorial-search-metadata-query-index-console"></a>

1. 打开亚马逊 Kendra 主机，网址为。[https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)

1. 从**索引**列表中，单击`kendra-index`。

1. 从左侧导航菜单中，选择搜索索引的选项。

1. 要运行示例事实查询，请在搜索框中输入 **Who is Lewis Hamilton?** 并按 Enter。

   返回的第一个结果是 Amazon Kendra 建议的答案以及包含答案的数据文件。其余结果构成一组推荐文档。

   

     
![\[Search interface showing query "Who is Lewis Hamilton?" with Formula One driver information results.\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/images/tutorial-query1.png)

1. 要运行描述性查询，请在搜索框中输入 **How does Formula One work?** 并按 Enter。

   您将看到 Amazon Kendra 控制台返回的另一个结果，这次是突出显示了相关的短语。

   

     
![\[Search results for "How does Formula One work?" showing snippets about the racing series.\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/images/tutorial-query2.png)

1. 要进行关键字搜索，请在搜索框中输入 **Formula One** 并按 Enter。

   您将看到 Amazon Kendra 控制台返回的另一个结果，然后是数据集中所有其他提及该短语的结果。

   

     
![\[Search results for "Formula One" showing Amazon Kendra suggested answers with article snippets.\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/images/tutorial-query3.png)

### 查询您的 Amazon Kendra 索引（AWS CLI）
<a name="tutorial-search-metadata-query-index-cli"></a>

1. 要运行示例事实查询，请使用 [query](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/query.html) 命令：

------
#### [ Linux ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Who is Lewis Hamilton?" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ macOS ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Who is Lewis Hamilton?" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ Windows ]

   ```
   aws kendra query ^
           --index-id kendra-index-id ^
           --query-text "Who is Lewis Hamilton?" ^
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------

    AWS CLI 显示您的查询结果。

1. 要运行示例描述性查询，请使用 [query](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/query.html) 命令：

------
#### [ Linux ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "How does Formula One work?" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ macOS ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "How does Formula One work?" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ Windows ]

   ```
   aws kendra query ^
           --index-id kendra-index-id ^
           --query-text "How does Formula One work?" ^
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------

    AWS CLI 显示您的查询结果。

1. 要运行示例关键字搜索，请使用 [query](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/query.html) 命令：

------
#### [ Linux ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Formula One" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ macOS ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Formula One" \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ Windows ]

   ```
   aws kendra query ^
           --index-id kendra-index-id ^
           --query-text "Formula One" ^
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------

    AWS CLI 显示您查询的返回答案。

## 筛选您的搜索结果
<a name="tutorial-search-metadata-query-kendra-filters"></a>

您可以在 Amazon Kendra 控制台中使用自定义文档属性对搜索结果进行筛选和排序。有关 Amazon Kendra 如何处理查询的更多信息，请参阅[筛选查询](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html)。

### 筛选搜索结果（控制台）
<a name="tutorial-search-metadata-filter-index-console"></a>

1. 打开亚马逊 Kendra 主机，网址为。[https://console.aws.amazon.com/kendra/](https://console.aws.amazon.com/kendra/)

1. 从**索引**列表中，单击`kendra-index`。

1. 从左侧导航菜单中，选择搜索索引的选项。

1. 在搜索框中，输入 **Soccer matches** 作为查询，然后按 Enter。

1. 从左侧导航菜单中，选择**筛选搜索结果**，查看可用于筛选搜索的分面列表。

1. 选中 **EVENT** 副标题下的“Champions League”复选框，即可查看仅按包含“Champions League”的结果筛选的搜索结果。

   

     
![\[Search interface for soccer matches with filters and Amazon Kendra suggested answers.\]](http://docs.aws.amazon.com/zh_cn/kendra/latest/dg/images/tutorial-filter.png)

### 筛选搜索结果（AWS CLI）
<a name="tutorial-search-metadata-filter-index-cli"></a>

1. 要查看可供搜索的特定类型（例如，`EVENT`）的实体，请使用 [query](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/query.html) 命令：

------
#### [ Linux ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Soccer matches" \
           --facets '[{"DocumentAttributeKey":"EVENT"}]' \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ macOS ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Soccer matches" \
           --facets '[{"DocumentAttributeKey":"EVENT"}]' \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ Windows ]

   ```
   aws kendra query ^
           --index-id kendra-index-id ^
           --query-text "Soccer matches" ^
           --facets '[{"DocumentAttributeKey":"EVENT"}]' ^
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------

    AWS CLI 显示搜索结果。要获取类型分面的列表`EVENT`，请导航到 AWS CLI 输出的 “FacetResults” 部分，查看可过滤的刻面列表及其计数。例如，其中一个方面是“Champions League”。
**注意**  
与 `EVENT` 不同，您可以选择在 [创建 Amazon Kendra 索引](tutorial-search-metadata-create-index-ingest.md#tutorial-search-metadata-create-index) 中为 `DocumentAttributeKey` 值创建的任何索引字段。

1. 要运行相同的搜索但仅按包含“Champions League”的结果进行筛选，请使用 [query](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kendra/query.html) 命令：

------
#### [ Linux ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Soccer matches" \
           --attribute-filter '{"ContainsAny":{"Key":"EVENT","Value":{"StringListValue":["Champions League"]}}}' \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ macOS ]

   ```
   aws kendra query \
           --index-id kendra-index-id \
           --query-text "Soccer matches" \
           --attribute-filter '{"ContainsAny":{"Key":"EVENT","Value":{"StringListValue":["Champions League"]}}}' \
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------
#### [ Windows ]

   ```
   aws kendra query ^
           --index-id kendra-index-id ^
           --query-text "Soccer matches" ^
           --attribute-filter '{"ContainsAny":{"Key":"EVENT","Value":{"StringListValue":["Champions League"]}}}' ^
           --region aws-region
   ```

   其中：
   + *kendra-index-id*你得救了吗`kendra-index-id`，
   + *aws-region*是你所在 AWS 的地区。

------

    AWS CLI 显示筛选后的搜索结果。