

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

# Amazon Kendra API를 사용하여 피드백 제출
<a name="feedback-api"></a>

 Amazon Kendra API를 사용하여 쿼리 피드백을 제출하려면 [SubmitFeedback](https://docs.aws.amazon.com/kendra/latest/APIReference/API_SubmitFeedback.html) API를 사용합니다. 쿼리를 식별하려면 해당 쿼리가 적용된 인덱스의 인덱스 ID와 [쿼리](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) API 응답에서 반환된 쿼리 ID를 제공합니다.

다음 예에서는 Amazon Kendra API를 사용하여 클릭 및 관련성 피드백을 제출하는 방법을 보여줍니다. `ClickFeedbackItems` 및 `RelevanceFeedbackItems` 배열을 통해 여러 피드백 세트를 제출할 수 있습니다. 이 예시는 단일 클릭과 단일 관련성 피드백 항목을 제출합니다. 피드백 제출에는 현재 시간이 사용됩니다.

**검색에 대한 피드백을 제출하려면(AWS SDK)**

1. 다음 예제 코드를 필수 값과 함께 사용할 수 있습니다.

   1. `index id` - 쿼리가 적용되는 인덱스의 ID입니다.

   1. `query id` - 피드백을 제공하려는 쿼리입니다.

   1. `result id` - 피드백을 제공하려는 쿼리 결과의 ID입니다. 쿼리 응답에는 결과 ID가 포함됩니다.

   1. `relevance value` - `RELEVANT`(쿼리 결과가 관련 있음) 또는 `NOT_RELEVANT`(쿼리 결과가 관련 없음) 중 하나입니다.

------
#### [ Python ]

   ```
   import boto3
   import time
   
   kendra = boto3.client("kendra")
   
   # Provide the index ID
   index_id = "index-id"
   # Provide the query ID
   query_id = "query-id"
   # Provide the search result ID
   result_id = "result-id"
   
   # Configure the feedback item
   feedback_item = {"ClickTime": int(time.time()),
       "ResultId":result_id}
   
   # Configure the relevance value
   relevance_value = "RELEVANT"
   relevance_item = {"RelevanceValue": relevance_value,
       "ResultId": result_id
       }
   
   response = kendra.submit_feedback(
       QueryId = query_id,
       IndexId = index_id,
       ClickFeedbackItems = [feedback_item],
       RelevanceFeedbackItems = [relevance_item]
   )
   
   
   print("Submitted feedback for query: " + query_id)
   ```

------
#### [ Java ]

   ```
   package com.amazonaws.kendra;
   
   import java.time.Instant;
   import software.amazon.awssdk.services.kendra.KendraClient;
   import software.amazon.awssdk.services.kendra.model.ClickFeedback;
   import software.amazon.awssdk.services.kendra.model.RelevanceFeedback;
   import software.amazon.awssdk.services.kendra.model.RelevanceType;
   import software.amazon.awssdk.services.kendra.model.SubmitFeedbackRequest;
   import software.amazon.awssdk.services.kendra.model.SubmitFeedbackResponse;
   
   public class SubmitFeedbackExample {
       public static void main(String[] args) {
           KendraClient kendra = KendraClient.builder().build();
   
           SubmitFeedbackRequest submitFeedbackRequest = SubmitFeedbackRequest
               .builder()
               .indexId("{{IndexId}}")
               .queryId("{{QueryId}}")
               .clickFeedbackItems(
                   ClickFeedback
                   .builder()
                   .clickTime(Instant.now())
                   .resultId("{{ResultId}}")
                   .build())
               .relevanceFeedbackItems(
                   RelevanceFeedback
                   .builder()
                   .relevanceValue(RelevanceType.RELEVANT)
                   .resultId("{{ResultId}}")
                   .build())
               .build();
   
           SubmitFeedbackResponse response = kendra.submitFeedback(submitFeedbackRequest);
   
           System.out.println("Feedback is submitted");
       }
   }
   ```

------

1. 코드를 실행합니다. 피드백이 제출되면 코드에 메시지가 표시됩니다.