本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
文档
本节说明如何对其支持的多种文档格式以及文档的不同字段/属性进行 Amazon Kendra 索引。
文档类型或格式
Amazon Kendra 支持常用的文档类型或格式,例如 PDF、HTML PowerPoint、Word 等。一个索引可以包含多种文档格式。
Amazon Kendra 提取文档内部的内容以使文档可搜索。解析文档的方式是为了优化对提取的文本和文档中任何表格内容(HTML 表格)的搜索。这意味着将文档结构化为用于搜索的字段或属性。文档元数据(例如上次修改日期)可能是有用的搜索字段。
可以将文档组织成行和列。例如,每个文档是一行,每个文档字段/属性(例如标题和正文内容)都是一列。例如,如果您使用数据库作为数据来源,则应将数据结构化或组织成行和列。
您可以通过以下方式将文档添加到索引中:
如果要添加常见问题解答文件,可以使用 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 | 从每个单元格中提取的内容,将单个文件视为单个文档结果。 | 结构化用于常见问题解答文件,否则为半结构化 |
Microsoft 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),则为常见问题解答的唯一标识符。 -
_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 配合使用来创建这些字段,就像创建保留字段或公用字段时一样。您必须为自定义字段设置相应的数据类型。如果您使用控制台,则要更新字段,方法是选择数据来源,选择编辑操作,然后在“字段映射”部分旁边继续配置数据来源。某些数据来源不支持添加新字段或自定义字段。创建字段后无法更改字段类型。
以下是您可以为自定义字段设置的类型:
-
日期
-
数字
-
字符串
-
字符串列表
如果您使用 BatchPutDocumentAPI 将文档添加到索引,则会Attributes
列出文档的字段/属性,然后使用该DocumentAttribute
对象创建字段。
对于从 Amazon S3 数据源编制索引的文档,您可以使用包含字段信息的 JSON 元数据文件创建字段。
如果您使用支持的数据库作为数据来源,则可以使用字段映射选项配置字段。