本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
文档
本节说明如何对其支持的多种文档格式以及文档的不同字段/属性进行 Amazon Kendra 索引。
文档类型或格式
Amazon Kendra 支持常用的文档类型或格式PDF,例如HTML、 PowerPoint、Word 等。一个索引可以包含多种文档格式。
Amazon Kendra 提取文档内部的内容以使文档可搜索。解析文档的方式是为了优化对提取的文本和文档中任何表格内容(HTML表格)的搜索。这意味着将文档结构化为用于搜索的字段或属性。文档元数据(例如上次修改日期)可能是有用的搜索字段。
可以将文档组织成行和列。例如,每个文档是一行,每个文档字段/属性(例如标题和正文内容)都是一列。例如,如果您使用数据库作为数据来源,则应将数据结构化或组织成行和列。
您可以通过以下方式将文档添加到索引中:
如果要添加FAQ文件,可使用CreateFaqAPI添加存储在存储 Amazon S3 桶中的文件。您可以在基本CSV格式、标题中包含自定义字段/属性的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 | 从每个单元格中提取的内容,将单个文件视为单个文档结果。 | 为FAQ文件结构化,否则为半结构化 |
微软 Excel(XLS和XLSX) | XLS和 XLSX | 从每个单元格中提取的内容,将单个文件视为单个文档结果。 | 半结构化 |
JavaScript 物体标记 (JSON) | 纯文本 | 提取内容时包含JSON语法。 | 半结构化 |
富文本格式 (RTF) | RTF | RTF语法被过滤掉以提取内容。 | 半结构化 |
微软 PowerPoint (PPT) | PPT, PPTX | 仅从 PowerPoint 幻灯片中提取文本内容进行搜索。不会提取图像和其他内容。 | 非结构化 |
Microsoft Word | DOC, DOCX | 仅从 Word 页面中提取文本内容进行搜索。不会提取图像和其他内容。 | 非结构化 |
纯文本 (TXT) | TXT | 提取文本文档中的所有文本。 | 非结构化 |
文档属性或字段
文档具有与之关联的属性或字段。文档的字段是文档的属性或文档结构中包含的内容。例如,您的每个文档都可能包含标题、正文和作者。您也可以为特定文档添加自定义字段。例如,如果您的索引搜索税务文件,则可以为税务文件类型指定自定义字段,例如 W-2、1099 等。
在查询中使用文档字段之前,必须将其映射到索引字段。例如,标题字段可以映射到字段 _document_title
。有关更多信息,请参阅映射字段。要添加新字段,必须创建要将该字段映射到的索引字段。您可以使用控制台或使用创建索引字段UpdateIndexAPI。
您可以使用文档字段来筛选回复并生成分面搜索结果。例如,您可以筛选回复以仅返回文档的特定版本,也可以筛选搜索结果以仅返回与搜索词匹配的 1099 种税务文件。有关更多信息,请参阅筛选和分面搜索。
您也可以使用文档字段来手动调整查询响应。例如,在确定要在回复中返回哪些文档时,您可以选择提高标题字段的重要性以增加 Amazon Kendra 分配给该字段的权重。有关更多信息,请参阅调整搜索相关性。
如果要将文档直接添加到索引,则可以将文档输入参数中的字段指定给BatchPutDocumentAPI。您可以在DocumentAttribute对象数组中指定自定义字段值。如果您使用的是数据来源,则用于添加文档字段的方法取决于数据来源。有关更多信息,请参阅映射数据来源字段。
使用 Amazon Kendra 保留或常用文档字段
使用 UpdateIndex API,您可以使用DocumentMetadataConfigurationUpdates
并指定要映射到等效文档属性/字段名称的 Amazon Kendra
保留索引字段名称来创建保留字段或常用字段。您还可以创建自定义字段。如果您使用数据源连接器,则大多数连接器都包含将数据源文档字段映射到 Amazon Kendra 索引字段的字段映射。如果您使用控制台,则要更新字段,方法是选择数据来源,选择编辑操作,然后在“字段映射”部分旁边继续配置数据来源。
您可以将 Search
对象配置为将字段设置为可显示、可分面、可搜索和可排序。您可以将 Relevance
对象配置为设置字段的排名顺序、提升持续时间或时间段,以应用于映射到特定字段值的提升、新鲜度、重要性值和重要性值。如果您使用控制台,则可以通过在导航菜单中选择 facet 选项来设置字段的搜索设置。要设置相关性调整,请在导航菜单中选择搜索索引的选项,输入查询,然后使用侧面板选项调整搜索相关性。创建字段后无法更改字段类型。
Amazon Kendra 有以下可供您使用的保留或常用文档字段:
-
_authors
- 负责文档内容的一位或多位作者名单。 -
_category
- 将文档置于特定组中的类别。 -
_created_at
— 以 ISO 8601 格式创建文档的日期和时间。例如,2012-03-25T12:30:10 + 01: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),则为的唯一标识符。FAQ -
_file_type
- 文档的文件类型,例如 pdf 或 doc。 -
_last_updated_at
— 上次更新文档的日期和时间,采用 ISO 8601 格式。例如,2012-03-25T12:30:10 + 01:00 是中欧时间 2012 年 3 月 25 日下午 12:30(加 10 秒)的 ISO 8601 日期时间格式。 -
_source_uri
— 文档的可用URI位置。例如,URI公司网站上的文档。 -
_version
- 文档特定版本的标识符。 -
_view_count
- 查看文档的次数。 -
_language_code
(字符串)-适用于文档的语言的代码。如果您未指定语言,默认为英语。有关支持的语言(包括其代码)的更多信息,请参阅添加非英语语言文档。
对于自定义字段,您可以使用来DocumentMetadataConfigurationUpdates
创建这些字段 UpdateIndex
API,就像创建保留字段或公用字段时一样。您必须为自定义字段设置相应的数据类型。如果您使用控制台,则要更新字段,方法是选择数据来源,选择编辑操作,然后在“字段映射”部分旁边继续配置数据来源。某些数据来源不支持添加新字段或自定义字段。创建字段后无法更改字段类型。
以下是您可以为自定义字段设置的类型:
-
Date
-
数字
-
String
-
字符串列表
如果您使用将文档添加到索引中 BatchPutDocumentAPI,则会Attributes
列出文档的字段/属性,然后使用该DocumentAttribute
对象创建字段。
对于从 Amazon S3 数据源编制索引的文档,您可以使用包含字段信息的JSON元数据文件创建字段。
如果您使用支持的数据库作为数据来源,则可以使用字段映射选项配置字段。