

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 사용자 지정 문서 필드 만들기
<a name="custom-attributes"></a>

**참고**  
기능 지원은 인덱스 유형 및 사용 중인 검색 API에 따라 다릅니다. 사용 중인 인덱스 유형 및 검색 API에 대해 이 기능이 지원되는지 확인하려면 [인덱스 검색](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index.html#index-searching)을 참조하세요.

Amazon Kendra 인덱스에서 문서에 대한 사용자 지정 속성 또는 필드를 생성할 수 있습니다. 예를 들어, “HR”, “영업” 및 “제조” 값을 사용하여 “부서”라는 사용자 지정 필드 또는 속성을 만들 수 있습니다. 이러한 사용자 지정 필드나 속성을 Amazon Kendra 인덱스에 매핑하는 경우, 이를 사용하여 가령 'HR' 부서 속성을 기준으로 검색 결과를 필터링하여 문서를 포함시킬 수 있습니다.

사용자 지정 필드나 속성을 사용하려면 먼저 인덱스에 필드를 생성해야 합니다. 콘솔을 사용하여 데이터 소스 필드 매핑을 편집하여 사용자 지정 필드를 추가하거나 [UpdateIndex](https://docs.aws.amazon.com/kendra/latest/APIReference/API_UpdateIndex.html) API를 사용하여 인덱스 필드를 생성합니다. 필드를 생성한 후에는 필드 데이터 유형을 변경할 수 없습니다.

대부분의 데이터 소스에서는 외부 데이터 소스의 필드를 Amazon Kendra의 해당 필드에 매핑합니다. 자세한 내용을 알아보려면 [데이터 소스 필드 매핑](https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html)을 참조하세요. S3 데이터 소스의 경우 JSON 메타데이터 파일을 사용하여 사용자 지정 필드 또는 속성을 생성할 수 있습니다.

최대 500개의 사용자 지정 필드 또는 속성을 만들 수 있습니다.

 Amazon Kendra 예약 또는 공통 필드를 사용할 수도 있습니다. 자세한 내용은 [문서 속성 또는 필드](https://docs.aws.amazon.com/kendra/latest/dg/hiw-document-attributes.html)를 참조하세요.

**Topics**
+ [사용자 지정 문서 필드 업데이트](#update-attributes)

## 사용자 지정 문서 필드 업데이트
<a name="update-attributes"></a>

`UpdateIndex` API를 사용하면 `DocumentMetadataConfigurationUpdates` 파라미터를 사용하여 사용자 지정 필드 또는 속성을 추가할 수 있습니다.

다음 JSON 예제는 `DocumentMetadataConfigurationUpdates`를 사용하여 “Department”라는 필드를 인덱스에 추가합니다.

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

다음 섹션에는 [BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html)를 사용하여 사용자 지정 속성 또는 필드를 추가하는 방법과 Amazon S3 데이터 소스에 대한 예제가 포함되어 있습니다.

**Topics**
+ [BatchPutDocument API를 사용하여 사용자 지정 속성 또는 필드 추가](#custom-attributes-batch)
+ [Amazon S3 데이터 소스에 사용자 지정 속성 또는 필드 추가](#custom-attributes-s3)

### BatchPutDocument API를 사용하여 사용자 지정 속성 또는 필드 추가
<a name="custom-attributes-batch"></a>

[BatchPutDocument](https://docs.aws.amazon.com/kendra/latest/APIReference/API_BatchPutDocument.html) API를 사용하여 인덱스에 문서를 추가할 때는 사용자 지정 필드 또는 속성을 `Attributes`의 일부로 지정합니다. API를 호출할 때 여러 필드 또는 속성을 추가할 수 있습니다. 최대 500개의 사용자 지정 필드 또는 속성을 만들 수 있습니다. 다음 예제는 문서에 “부서”를 추가하는 사용자 지정 필드 또는 속성입니다.

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

### Amazon S3 데이터 소스에 사용자 지정 속성 또는 필드 추가
<a name="custom-attributes-s3"></a>

S3 버킷을 인덱스의 데이터 소스로 사용하는 경우, 관련 메타데이터 파일과 함께 문서에 메타데이터를 추가합니다. 문서와 병렬인 디렉터리 구조에 메타데이터 JSON 파일을 배치합니다. 자세한 내용은 [S3 문서 메타데이터](https://docs.aws.amazon.com/kendra/latest/dg/s3-metadata.html)를 참조하세요.

`Attributes` JSON 구조에서 사용자 지정 필드 또는 속성을 지정합니다. 최대 500개의 사용자 지정 필드 또는 속성을 만들 수 있습니다. 예를 들어, 다음 예제에서는 `Attributes`를 사용하여 사용자 지정 필드 또는 속성 3개와 예약된 필드 1개를 정의합니다.

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

다음 단계에서는 Amazon S3 데이터 소스에 사용자 지정 속성을 추가하는 방법을 안내합니다.

**Topics**
+ [1단계: Amazon Kendra 인덱스 생성](#custom-attributes-s3-1)
+ [2단계: 사용자 지정 문서 필드를 추가하도록 인덱스 업데이트](#custom-attributes-s3-2)
+ [3단계: Amazon S3 데이터 소스 생성 및 데이터 소스 필드를 사용자 지정 속성에 매핑](#custom-attributes-s3-3)

#### 1단계: Amazon Kendra 인덱스 생성
<a name="custom-attributes-s3-1"></a>

[인덱스 생성](create-index.md)의 단계에 따라 Amazon Kendra 인덱스를 생성합니다.

#### 2단계: 사용자 지정 문서 필드를 추가하도록 인덱스 업데이트
<a name="custom-attributes-s3-2"></a>

인덱스를 생성한 후 인덱스에 필드를 추가합니다. 다음 절차에서는 콘솔과 CLI를 사용하여 인덱스에 필드를 추가하는 방법을 보여줍니다.

------
#### [ Console ]

**인덱스 필드를 생성하려면**

1. [인덱스를 생성](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)했는지 확인합니다.

1. 그런 다음 왼쪽 탐색 메뉴의 **데이터 관리**에서 **패싯 정의**를 선택합니다.

1. **인덱스 필드 설정 안내서**의 **인덱스 필드**에서 **필드 추가**를 선택하여 사용자 지정 필드를 추가합니다.

1. **인덱스 필드 추가** 대화 상자에서 다음을 수행합니다.
   + **필드 이름** - 필드 이름을 추가합니다.
   + **데이터 유형** - **문자열**, **문자열 목록** 또는 **날짜** 중에서 데이터 유형을 선택합니다.
   + **사용 유형** - **패싯 가능**, **검색 가능**, **표시 가능** 및 **정렬 가능** 중에서 사용 유형을 선택합니다.

     그런 다음 **추가**를 선택합니다.

   매핑하려는 다른 필드에 대해 마지막 단계를 반복합니다.

------
#### [ 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 데이터 소스 생성 및 데이터 소스 필드를 사용자 지정 속성에 매핑
<a name="custom-attributes-s3-3"></a>

Amazon S3 데이터 소스를 생성하고 여기에 필드를 매핑하려면 [Amazon S3](data-source-s3.md)의 지침을 따릅니다.

API를 사용하는 경우 [CreateDataSource](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CreateDataSource.html) API를 사용할 때 `configuration` 아래에 `fieldMappings` 속성을 사용합니다.

데이터 소스 필드가 매핑되는 방법에 대한 개요는 [데이터 소스 필드 매핑](field-mapping.md) 섹션을 참조하세요.