カスタムドキュメントフィールドの作成
注記
機能のサポートは、使用されているインデックスタイプと検索 API によって異なります。使用しているインデックスタイプと検索 API でこの機能がサポートされているかどうかを確認するには、インデックスの検索に関するページを参照してください。
ドキュメントのカスタム属性またはフィールドを、Amazon Kendra インデックスに作成することができます。例えば、「HR」、「Sales」、「Manufacturing」という値を持つ「Department」というカスタムフィールドまたは属性を作成できます。この場合、これらのカスタムフィールドまたは属性を Amazon Kendra のインデックスにマッピングすると、これらのフィールドまたは属性を使用して、「HR」部門属性をもつドキュメントを含めるように検索結果をフィルタリングすることができます。
カスタムフィールドまたは属性を使用するには、まずインデックスにフィールドを作成する必要があります。インデックスフィールドを作成るには、コンソールを使用してデータソースフィールドマッピングを編集し、カスタムフィールドを追加するか、UpdateIndex API を使用します。フィールドを作成すると、フィールドデータ型を変更することはできません。
ほとんどのデータソースの場合、外部データソースのフィールドを Amazon Kendra の対応するフィールドにマッピングします。詳細については、「データソースフィールドのマッピング」を参照してください。S3 データソースでは、JSON メタデータファイルを使用してカスタムフィールドまたは属性を作成できます。
最大 500 のカスタムフィールドまたは属性を作成できます。
Amazon Kendra の予約フィールドや共通フィールドも使用することができます。詳細については、「Document attributes or fields」を参照してください。
カスタムドキュメントフィールドの更新
UpdateIndex API では、DocumentMetadataConfigurationUpdates パラメータを使用してカスタムフィールドまたは属性を追加します
次の JSON の例では、DocumentMetadataConfigurationUpdates を使用して「Department」というフィールドをインデックスに追加します。
"DocumentmetadataConfigurationUpdates": [ { "Name": "Department", "Type": "STRING_VALUE" } ]
以下のセクションでは、BatchPutDocument および Amazon S3 データソースを使用してカスタム属性またはフィールドを追加する例を示しています。
BatchPutDocument API を使用したカスタム属性またはフィールドの追加
BatchPutDocument API を使用してドキュメントをインデックスに追加する場合、Attributes の一部としてカスタムフィールドまたは属性を指定します。API を呼び出すと、複数のフィールドまたは属性を追加できます。最大 500 のカスタムフィールドまたは属性を作成できます。次の例は、ドキュメントに「Department」を追加するカスタムフィールドまたは属性です。
"Attributes": { "Department": "HR", "_category": "Vacation policy" }
Amazon S3 データソースへのカスタム属性またはフィールドの追加
S3 バケットをインデックスのデータソースとして使用する場合は、コンパニオンメタデータファイルを使用してドキュメントにメタデータを追加します。メタデータ JSON ファイルは、ドキュメントと平行なディレクトリ構造に配置します。詳細については、「S3 document metadata」を参照してください。
カスタムフィールドまたは属性は、Attributes JSON 構造で指定します。最大 500 のカスタムフィールドまたは属性を作成できます。例えば、以下の例では Attributes を使用して 3 つのカスタムフィールドまたは属性と 1 つの予約フィールドを定義しています。
"Attributes": { "brand": "Amazon Basics", "price": 1595, "_category": "sports", "subcategories": ["outdoors", "electronics"] }
次の手順では、Amazon S3 データソースにカスタム属性を追加する方法を説明します。
トピック
ステップ 1: Amazon Kendra インデックスを作成する
「インデックスの作成」の手順に従って Amazon Kendra のインデックスを作成します。
ステップ 2: インデックスを更新してカスタムドキュメントフィールドを追加する
インデックスを作成したら、そのインデックスにフィールドを追加します。次の手順は、コンソールと CLI を使用してインデックスにフィールドを追加する方法を示しています。
ステップ 3: Amazon S3 データソースを作成し、データソースフィールドをカスタム属性にマッピングする
Amazon S3 データソースを作成してフィールドにマッピングするには、「Amazon S3」の手順に従います。
API を使用している場合は、CreateDataSource API を使用するときに configuration の下にある fieldMappings 属性を使用します。
データソースフィールドのマッピング方法の概要については、「データソースフィールドのマッピング」を参照してください。