

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

# 文档
<a name="hiw-documents"></a>

本节说明了如何 Amazon Kendra 索引它所支持的多种文档格式以及文档的不同 fields/attributes 之处。

**Topics**
+ [文档类型或格式](#index-document-types)
+ [文档属性或字段](#hiw-document-attributes)

## 文档类型或格式
<a name="index-document-types"></a>

Amazon Kendra 支持常用的文档类型或格式，例如 PDF、HTML PowerPoint、Word 等。一个索引可以包含多种文档格式。

Amazon Kendra 提取文档内部的内容以使文档可搜索。解析文档的方式是为了优化对提取的文本和文档中任何表格内容（HTML 表格）的搜索。这意味着将文档结构化为用于搜索的字段或属性。文档元数据（例如上次修改日期）可能是有用的搜索字段。

可以将文档组织成行和列。例如，每个文档是一行，每个文档字段/属性（例如标题和正文内容）都是一列。例如，如果您使用数据库作为数据来源，则应将数据结构化或组织成行和列。

您可以通过以下方式将文档添加到索引中：
+ [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-documents.html) API
+ [数据来源连接器](https://docs.aws.amazon.com/kendra/latest/dg/data-sources.html)

如果要添加常见问题解答文件，可以使用 [CreateFaq](https://docs.aws.amazon.com/kendra/latest/dg/in-creating-faq.html)API 添加存储在存储 Amazon S3 桶中的文件。您可以在基本 CSV 格式、标题 fields/attributes 中包含自定义的 CSV 格式和包含自定义字段的 JSON 格式之间进行选择。默认文件格式为 CSV。

以下内容提供了有关每种支持的文档格式以及在为文档编制索引时， Amazon Kendra 如何处理每种格式的信息。


| 文档格式 | 视为 | 如何处理文档 | 原始结构 | 
| --- | --- | --- | --- | 
| 可移植文档格式（PDF） | HTML | 转换为 HTML，然后提取内容。 | 非结构化 | 
| HyperText 标记语言 (HTML) | HTML | HTML 标签会被过滤掉以提取内容。内容必须介于主 HTML 起始标签和结束标签（<HTML>content</HTML>）之间。 | 半结构化 | 
| 可扩展标记语言 (XML) | XML | XML 标签会被过滤掉以提取内容。 | 半结构化 | 
| 可扩展样式表语言转换（XSLT） | XSLT | 标签会被过滤掉以提取内容。 | 半结构化 | 
| MarkDown （医学博士） | 纯文本 | 提取内容时包含 MarkDown 语法。 | 半结构化 | 
| 逗号分隔值（CSV） | CSV | 从每个单元格中提取的内容，将单个文件视为单个文档结果。 | 结构化用于常见问题解答文件，否则为半结构化 | 
| Microsoft Excel（XLS 和 XLSX） | XLS 和 XLSX | 从每个单元格中提取的内容，将单个文件视为单个文档结果。 | 半结构化 | 
| JavaScript 对象表示法 (JSON) | 纯文本 | 内容是使用包含的 JSON 语法提取的。 | 半结构化 | 
| 富文本格式（RTF） | RTF | RTF 语法会被过滤掉以提取内容。 | 半结构化 | 
| 微软 PowerPoint (PPT) | PPT、PPTX | 仅从 PowerPoint 幻灯片中提取文本内容进行搜索。不会提取图像和其他内容。 | 非结构化 | 
| Microsoft Word | DOC、DOCX | 仅从 Word 页面中提取文本内容进行搜索。不会提取图像和其他内容。 | 非结构化 | 
| 纯文本（TXT） | TXT | 提取文本文档中的所有文本。 | 非结构化 | 

## 文档属性或字段
<a name="hiw-document-attributes"></a>

文档具有与之关联的属性或字段。文档的字段是文档的属性或文档结构中包含的内容。例如，您的每个文档都可能包含标题、正文和作者。您也可以为特定文档添加自定义字段。例如，如果您的索引搜索税务文件，则可以为税务文件类型指定自定义字段，例如 W-2、1099 等。

在查询中使用文档字段之前，必须将其映射到索引字段。例如，标题字段可以映射到字段 `_document_title`。有关更多信息，请参阅[映射字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。要添加新字段，必须创建要将该字段映射到的索引字段。您可以使用控制台或 [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html)API 创建索引字段。

您可以使用文档字段来筛选回复并生成分面搜索结果。例如，您可以筛选回复以仅返回文档的特定版本，也可以筛选搜索结果以仅返回与搜索词匹配的 1099 种税务文件。有关更多信息，请参阅[筛选和分面搜索](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html)。

您也可以使用文档字段来手动调整查询响应。例如，在确定要在回复中返回哪些文档时，您可以选择提高标题字段的重要性以增加 Amazon Kendra 分配给该字段的权重。有关更多信息，请参阅[调整搜索相关性](https://docs.aws.amazon.com/kendra/latest/dg/tuning.html)。

如果要将文档直接添加到索引，则需要在 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)API 的[文档](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Document.html)输入参数中指定字段。您可以在[DocumentAttribute](https://docs.aws.amazon.com/kendra/latest/APIReference/API_DocumentAttribute.html)对象数组中指定自定义字段值。如果您使用的是数据来源，则用于添加文档字段的方法取决于数据来源。有关更多信息，请参阅[映射数据来源字段](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)。

### 使用 Amazon Kendra 保留或常用文档字段
<a name="index-reserved-fields"></a>

借助 [UpdateIndex API](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html)，您可以使用`DocumentMetadataConfigurationUpdates`并指定要映射到等效文档名称的 Amazon Kendra 保留索引字段名称来创建保留字段或常用 attribute/field 字段。您还可以创建自定义字段。如果您使用数据源连接器，则大多数连接器都包含将数据源文档字段映射到 Amazon Kendra 索引字段的字段映射。如果您使用控制台，则要更新字段，方法是选择数据来源，选择编辑操作，然后在“字段映射”部分旁边继续配置数据来源。

您可以将 `Search` 对象配置为将字段设置为可显示、可分面、可搜索和可排序。您可以将 `Relevance` 对象配置为设置字段的排名顺序、提升持续时间或时间段，以应用于映射到特定字段值的提升、新鲜度、重要性值和重要性值。如果您使用控制台，则可以通过在导航菜单中选择 facet 选项来设置字段的搜索设置。要设置相关性调整，请在导航菜单中选择搜索索引的选项，输入查询，然后使用侧面板选项调整搜索相关性。创建字段后无法更改字段类型。

Amazon Kendra 有以下可供您使用的保留或常用文档字段：
+ `_authors` - 负责文档内容的一位或多位作者名单。
+ `_category` - 将文档置于特定组中的类别。
+ `_created_at` - 以 ISO 8601 格式创建文档的日期和时间。例如，2012-03-25T12:30:10\$101:00 是中部欧洲时间 2012 年 3 月 25 日中午 12:30（10 秒）的 ISO 8601 日期-时间格式。
+ `_data_source_id` - 包含文档数据来源的标识符。
+ `_document_body` - 文档的内容。
+ `_document_id` - 文档的唯一标识符。
+ `_document_title` - 文档标题。
+ `_excerpt_page_number` - PDF 文件中显示文档摘录的页码。如果您的索引是在 2020 年 9 月 8 日之前创建的，则必须重新编制文档索引才能使用此属性。
+ `_faq_id` - 如果这是问答类型文档（FAQ），则为常见问题解答的唯一标识符。
+ `_file_type` - 文档的文件类型，例如 pdf 或 doc。
+ `_last_updated_at` - 上次更新端点的日期和时间，采用 ISO 8601 格式。例如，2012-03-25T12:30:10\$101:00 是中部欧洲时间 2012 年 3 月 25 日中午 12:30（10 秒）的 ISO 8601 日期-时间格式。
+ `_source_uri` - 文档可用的 URI。例如，公司网站上的文档的 URI。
+ `_version` - 文档特定版本的标识符。
+ `_view_count` - 查看文档的次数。
+ `_language_code`（字符串）– 适用于文档的语言的代码。如果您未指定语言，默认为英语。有关支持的语言（包括其代码）的更多信息，请参阅[添加非英语语言文档](https://docs.aws.amazon.com/kendra/latest/dg/in-adding-languages.html)。

对于自定义字段，您可以将 `DocumentMetadataConfigurationUpdates` 与 `UpdateIndex` API 配合使用来创建这些字段，就像创建保留字段或公用字段时一样。您必须为自定义字段设置相应的数据类型。如果您使用控制台，则要更新字段，方法是选择数据来源，选择编辑操作，然后在“字段映射”部分旁边继续配置数据来源。某些数据来源不支持添加新字段或自定义字段。创建字段后无法更改字段类型。

以下是您可以为自定义字段设置的类型：
+ 日期
+ 数字
+ 字符串
+ 字符串列表

如果您使用 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)API 将文档添加到索引中，则会`Attributes` fields/attributes 列出您的文档，然后使用该`DocumentAttribute`对象创建字段。

对于从 Amazon S3 数据源编制索引的文档，您可以使用包含字段信息的 [JSON 元数据文件](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html)创建字段。

如果您使用支持的数据库作为数据来源，则可以使用[字段映射选项](https://docs.aws.amazon.com/kendra/latest/dg/data-source-database.html#data-source-procedure-database)配置字段。