创建自定义文档字段 - Amazon Kendra

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

创建自定义文档字段

您可以在 Amazon Kendra 索引中为文档创建自定义属性或字段。例如,您可以创建一个名为“Department”的自定义字段或属性,其值为“HR”、“Sales”和“Manufacturing”。如果您将这些自定义字段或属性映射到您的 Amazon Kendra 索引,则可以使用它们筛选搜索结果,以便按照 “HR” 部门属性包括文档。

必须先在索引中创建字段,然后才能使用自定义字段或属性。使用控制台编辑数据源字段映射以添加自定义字段或使用 UpdateIndexAPI 创建索引字段。创建字段后无法更改字段的数据类型。

对于大多数数据来源,您可以将外部数据来源中的字段映射到 Amazon Kendra 中的相应字段。有关更多信息,请参阅映射数据来源字段。对于 S3 数据来源,您可以使用 JSON 元数据文件来创建自定义字段或属性。

最多可以创建 500 个自定义字段或属性。

您也可以使用 Amazon Kendra 保留字段或常用字段。有关更多信息,请参阅文档属性或字段

更新自定义文档字段

使用 UpdateIndex API,您可以使用 DocumentMetadataConfigurationUpdates 参数来添加自定义字段或属性。

以下 JSON 示例使用 DocumentMetadataConfigurationUpdates 来向索引添加名为“Department”的字段。

"DocumentmetadataConfigurationUpdates": [ { "Name": "Department", "Type": "STRING_VALUE" } ]

以下各节包括使用BatchPutDocument和为 Amazon S3 数据源添加自定义属性或字段的示例。

使用 BatchPutDocument API 添加自定义属性或字段

使用 BatchPutDocumentAPI 向索引添加文档时,可以将自定义字段或属性指定为其中的一部分Attributes。您可以在调用 API 时添加多个字段或属性。最多可以创建 500 个自定义字段或属性。以下示例是将“Department”添加到文档中的自定义字段或属性。

"Attributes": { "Department": "HR", "_category": "Vacation policy" }

向 Amazon S3 数据来源添加自定义属性或字段

使用 S3 存储桶作为索引的数据来源时,您可以将元数据与随附的元数据文件一起添加到文档中。您可以将元数据 JSON 文件放在与您的文档并排的目录结构中。有关更多信息,请参阅 S3 文档元数据

您可以在 Attributes JSON 结构中指定自定义字段或属性。最多可以创建 500 个自定义字段或属性。例如,以下示例使用 Attributes 来定义三个自定义字段或属性以及一个保留字段。

"Attributes": { "brand": "Amazon Basics", "price": 1595, "_category": "sports", "subcategories": ["outdoors", "electronics"] }

以下步骤将引导您完成向 Amazon S3 数据源添加自定义属性的过程。

第 1 步:创建亚马逊 Kendra 索引

按照中的创建索引步骤创建您的亚马逊 Kendra 索引。

步骤 2:更新索引以添加自定义文档字段

创建索引后,向其添加字段。以下过程说明如何使用控制台和 CLI 向索引添加字段。

Console
创建索引字段
  1. 确保您已创建索引

  2. 然后,从左侧导航菜单的 “数据管理” 中选择 Facet 定义

  3. 在 “索引字段设置指南” 中,从 “索引字段” 中选择 “添加字段” 以添加自定义字段。

  4. 添加索引字段对话框中,执行以下操作:

    • 字段名-添加字段名称。

    • 数据类型-选择数据类型,无论是字符串、字符串列表还是日期

    • 使用类型 -选择使用类型,包括 Facetable、可搜索、可显示和可排序。

      然后,选择 “添加”。

    对要映射的任何其他字段重复最后一步。

CLI
aws kendra update-index \ --region $region \ --endpoint-url $endpoint \ --application-id $applicationId \ --index-id $indexId \ --document-metadata-configuration-updates \ "[ { "Name": "string", "Type": "STRING_VALUE"|"STRING_LIST_VALUE"|"LONG_VALUE"|"DATE_VALUE", "Relevance": { "Freshness": true|false, "Importance": integer, "Duration": "string", "RankOrder": "ASCENDING"|"DESCENDING", "ValueImportanceMap": {"string": integer ...} }, "Search": { "Facetable": true|false, "Searchable": true|false, "Displayable": true|false, "Sortable": true|false } } ... ]"

步骤 3:创建 Amazon S3 数据源并将数据源字段映射到自定义属性

要创建 Amazon S3 数据源并将字段映射到该数据源,请按照中的说明进行操作Amazon S3

如果您使用的是 API,请在使用 AP CreateDataSourceI configuration 时使用下面的fieldMappings属性。

有关如何映射数据源字段的概述,请参阅映射数据来源字段