

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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`できる というグローバル変数を初期化します。

*ライブラリのダウンロード URL* と*フィードバックエンドポイント*を、 Amazon Kendra インデックスをホストするリージョンに基づいて、次の表の識別子に置き換えます。


| リージョン | 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 | 

例えば、インデックスが米国東部 (バージニア北部) の場合は、*[library download URL]* (ライブラリダウンロード URL) は `https://d2zm0lpns956f8.cloudfront.net/ksf-v1.js`、*[feedback endpoint]* (フィードバックエンドポイント) は `https://ujxwp5s92h.execute-api.us-east-1.amazonaws.com/prod/submit` になります。

 Amazon Kendra JavaScript ライブラリには、次の 2 つのオプション設定を行うことができます。
+ `disableCookies` – デフォルトでは、 はユーザーを一意に識別する Cookie Amazon Kendra を設定します。これを `true` に設定して、cookie を無効にします。

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

  `searchDivClassName` - デフォルトでは、 Amazon Kendra は検索結果ページのすべてのリンクでクリックをモニタリングします。これを `<div>` のクラス名に設定し、指定されたクラスのリンクのみをモニタリングします。

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

## ステップ 2: フィードバックトークンを検索結果に追加する
<a name="javascript-step-2"></a>

結果ページで、`data-kendra-token` という HTML 属性を追加し、クエリレスポンスからのドキュメントへのリンクを含むアンカータグまたは直接の親 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` 属性に割り当てます。JavaScript Amazon Kendra ライブラリは、ユーザーが結果を選択し、フィードバックとして Amazon Kendra エンドポイントに送信するときに、このトークンを検索します。

 Amazon Kendra JavaScript ライブラリは、フィードバックトークンと、結果が選択された時刻や一意の訪問者 ID などの他のメタデータのみを送信します。

## ステップ 3: フィードバックスクリプトをテストする
<a name="javascript-step-3"></a>

JavaScript ライブラリが正しく設定され、適切なエンドポイントにフィードバックを送信していることを確認するには、次の操作を行います。この例では Chrome ブラウザを使用します。

1. ブラウザで ウェブデベロッパーツールを開きます。Chrome で、ブラウザの右上隅の **[Chrome menu]** (Chrome メニュー) を開き、**[More tools]** (その他のツール) を選択して **[Developer tools]** (デベロッパーツール) を選択します。

1. コンソールタブに Amazon Kendra JavaScript ライブラリに関連するエラーがないことを確認します。

1. 検索を行い、任意の結果を選択します。デベロッパーツールの **[Network]** (ネットワーク) タブを選択します。フィードバックエンドポイントに送信されたリクエスト、結果のトークン、200 OK ステータスが表示されます。