

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 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，以及從查詢 API 回應中傳回的[查詢](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) 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. 執行程式碼。提交意見回饋後，程式碼會顯示訊息。