

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

# 使用 Amazon Kendra JavaScript 程式庫提交意見回饋
<a name="feedback-javascript"></a>

Amazon Kendra 提供 JavaScript 程式庫，可用來將點選意見回饋新增至搜尋結果頁面。若要使用程式庫，請在顯示搜尋結果的用戶端程式碼中插入指令碼標籤，然後將資訊新增至結果清單中的每個文件連結。當使用者選擇要檢視文件的連結時，點選資訊會傳送到 Amazon Kendra。

程式庫適用於支援 JavaScript ES6/ES2015 版本的瀏覽器。

## 步驟 1：將指令碼標籤插入您的 Amazon Kendra 搜尋應用程式
<a name="javascript-step-1"></a>

在轉譯 Amazon Kendra 搜尋結果的用戶端程式碼中，插入 <script> 標籤，並將參考新增至 JavaScript 程式庫：

```
<script>
 (function(w, d, s, c, g, n) {
   if(!w[n]) {
     w[n] = w[n] || function () {
           (w[n].q = w[n].q || []).push(arguments);
     }
     w[n].st = new Date().getTime();
     w[n].ep = g;
     var e = document.createElement(s),
         j = document.getElementsByTagName(s)[0];
     e.async = 1;
     e.src = c;
     e.type = 'module';
     j.parentNode.insertBefore(e, j);
   }
 })(window, document, 'script', 
 'library download URL', 
 'feedback endpoint',
 'kendraFeedback');
</script>
```

指令碼會從 Amazon Kendra 託管 CDN 非同步下載 JavaScript 程式庫，並初始化名為 的全域變數`kendraFeedback`，讓您設定選用參數。

根據託管 Amazon Kendra 索引的區域，將程式*庫下載 URL* 和*意見回饋端點*取代為下表中的識別符。


| 區域 | 下載 URL | 意見回饋端點 | 
| --- | --- | --- | 
| us-east-1 | https://d2zm0lpns956f8.cloudfront.net/ksf-v1.js | https://ujxwp5s92h.execute-api.us-east-1.amazonaws.com/prod/submit | 
| us-east-2 |  https://d2crv7fufeg244.cloudfront.net/ksf-v1.js | https://i6h76zwzf3.execute-api.us-east-2.amazonaws.com/prod/submit | 
| us-west-2 | https://d2iezfpnpcoujy.cloudfront.net/ksf-v1.js | https://wg6nim909c.execute-api.us-west-2.amazonaws.com/prod/submit | 
| ca-central-1 | https://d1zbkfomowykaq.cloudfront.net/ksf-v1.js | https://budi8txevj.execute-api.ca-central-1.amazonaws.com/prod/submit | 
| eu-west-1 | https://d3gptlxtulu4us.cloudfront.net/ksf-v1.js | https://po2b11740b.execute-api.eu-west-1.amazonaws.com/prod/submit | 
| ap-southeast-1 | https://d1vvuam7g4taoe.cloudfront.net/ksf-v1.js | https://9je5uw7t5l.execute-api.ap-southeast-1.amazonaws.com/prod/submit | 
| ap-southeast-2 | https://dopqntoe6z0ce.cloudfront.net/ksf-v1.js | https://oovf4nvjj7.execute-api.ap-southeast-2.amazonaws.com/prod/submit | 
| ap-south-1 | https://d1ts9ouelsmk3g.cloudfront.net/ksf-v1.js | https://k1abnmd43b.execute-api.ap-south-1.amazonaws.com/prod/submit | 
| ap-northeast-1 | https://d3w0ybsa293kb4.cloudfront.net/ksf-v1.js | https://wg7rz0uzjh.execute-api.ap-northeast-1.amazonaws.com/prod/submit | 
| eu-west-2 | https://d1tsrujswld1d1.cloudfront.net/ksf-v1.js | https://qi7mct3x7f.execute-api.eu-west-2.amazonaws.com/prod/submit | 

例如，如果您的索引位於美國東部 （維吉尼亞北部），則*程式庫下載 URL* 為 `https://d2zm0lpns956f8.cloudfront.net/ksf-v1.js`，而*意見回饋端點*為 `https://ujxwp5s92h.execute-api.us-east-1.amazonaws.com/prod/submit`。

您可以為 Amazon Kendra JavaScript 程式庫進行兩種選用設定：
+ `disableCookies` – 根據預設， 會 Amazon Kendra 設定可唯一識別使用者的 Cookie。將此設為 `true` 以停用 Cookie。

  ```
  kendraFeedback('disableCookie', 'true | false');
  ```

  `searchDivClassName` – 根據預設， Amazon Kendra 會監控搜尋結果頁面上的所有連結是否點按。將此設定為`<div>`類別名稱，以僅監控指定類別中的連結。

  ```
  kendraFeedback('searchDivClassName', 'class name');
  ```

## 步驟 2：將意見回饋字符新增至搜尋結果
<a name="javascript-step-2"></a>

在結果頁面上，將稱為 的 HTML 屬性`data-kendra-token`新增至錨點標籤或直接父系 div 標籤，其中包含來自查詢回應的文件連結。例如：

```
<a href="document location" data-kendra-token="feedback token value"></a>
OR
<div data-url="document location" data-kendra-token="feedback token value"></div>
```

查詢回應包含 `feedbackToken` 欄位中的字符。如果使用者選擇回應，字符可唯一識別回應。將權杖的值指派給 `data-kendra-token` 屬性。當使用者選擇結果並將其提交至 Amazon Kendra 端點做為意見回饋時，JavaScript Amazon Kendra 程式庫會尋找此字符。

 Amazon Kendra JavaScript 程式庫只會提交意見回饋字符和其他中繼資料，例如選擇結果的時間和唯一的訪客 ID。

## 步驟 3：測試意見回饋指令碼
<a name="javascript-step-3"></a>

若要確保 JavaScript 程式庫設定正確，並將意見回饋傳送到正確的端點，請執行下列動作。此範例使用 Chrome 瀏覽器。

1. 在瀏覽器中開啟 Web 開發人員工具。在 Chrome 上，開啟瀏覽器右上角的 **Chrome 選單**，選擇**更多工具**，然後選擇**開發人員工具**。

1. 請確定主控台索引標籤中沒有與 Amazon Kendra JavaScript 程式庫相關的錯誤。

1. 進行搜尋並選擇任何結果。在開發人員工具**的網路**索引標籤中。您應該會看到傳送至意見回饋端點的請求、結果的字符，以及 200 OK 狀態。