View a markdown version of this page

文档 - Amazon Kendra

Amazon Kendra 不再向新客户开放。要了解与类似的功能 Amazon Kendra,请浏览亚马逊基岩知识库。了解更多

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

文档

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

文档类型或格式

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

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

可以将文档组织成行和列。例如,每个文档都是一行 field/attribute,每个文档(例如标题和正文内容)是一列。例如,如果您使用数据库作为数据来源,则应将数据结构化或组织成行和列。

您可以通过以下方式将文档添加到索引中:

如果要添加常见问题解答文件,可以使用 CreateFaq API 添加存储 Amazon S3 桶中存储的文件。您可以选择基本 CSV 格式、标题 fields/attributes 中包含自定义的 CSV 格式和包含自定义字段的 JSON 格式。默认文件格式为 CSV。

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

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

文档属性或字段

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

在查询中使用文档字段之前,必须将其映射到索引字段。例如,标题字段可以映射到字段 _document_title。有关更多信息,请参阅映射字段。要添加新字段,必须创建要将该字段映射到的索引字段。您可以使用控制台或 UpdateIndex API 创建索引字段。

您可以使用文档字段来筛选回复并生成分面搜索结果。例如,您可以筛选回复以仅返回文档的特定版本,也可以筛选搜索结果以仅返回与搜索词匹配的 1099 种税务文件。有关更多信息,请参阅筛选和分面搜索

您也可以使用文档字段来手动调整查询响应。例如,在确定要在响应中返回哪些文档时,您可以选择增加标题字段的重要性以增加 Amazon Kendra 分配给该字段的权重。有关更多信息,请参阅调整搜索相关性

如果您要将文档直接添加到索引,则需要在 BatchPutDocument API 的文档输入参数中指定字段。你在DocumentAttribute对象数组中指定自定义字段值。如果您使用的是数据来源,则用于添加文档字段的方法取决于数据来源。有关更多信息,请参阅映射数据来源字段

使用 Amazon Kendra 保留或常用文档字段

借助 UpdateIndex API,您可以使用DocumentMetadataConfigurationUpdates和指定预留索引字段名称来创建 Amazon Kendra 保留或常用字段,以映射到您的等效文档 attribute/field 名称。您还可以创建自定义字段。如果您使用数据源连接器,则大多数都包含将数据源文档字段映射到 Amazon Kendra 索引字段的字段映射。如果您使用控制台,则要更新字段,方法是选择数据来源,选择编辑操作,然后在“字段映射”部分旁边继续配置数据来源。

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

Amazon Kendra 有以下保留或常用文档字段可供您使用:

  • _authors - 负责文档内容的一位或多位作者名单。

  • _category - 将文档置于特定组中的类别。

  • _created_at - 以 ISO 8601 格式创建文档的日期和时间。例如,2012-03-25 T12: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-25 T12:30:10 + 01:00 是 2012 年 3 月 25 日中欧时间下午 12:30(加 10 秒)的 ISO 8601 日期时间格式。

  • _source_uri - 文档可用的 URI。例如,公司网站上的文档的 URI。

  • _version - 文档特定版本的标识符。

  • _view_count - 查看文档的次数。

  • _language_code(字符串)– 适用于文档的语言的代码。如果您未指定语言,默认为英语。有关支持的语言(包括其代码)的更多信息,请参阅添加非英语语言文档

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

以下是您可以为自定义字段设置的类型:

  • 日期

  • 数字

  • 字符串

  • 字符串列表

如果您使用 BatchPutDocument API 将文档添加到索引中,则会Attributes fields/attributes 列出您的文档并使用该DocumentAttribute对象创建字段。

对于从 Amazon S3 数据源索引的文档,您可以使用包含字段信息的 JSON 元数据文件创建字段。

如果您使用支持的数据库作为数据来源,则可以使用字段映射选项配置字段。