

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

# 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 | 

예를 들어 인덱스가 미국 동부(버지니아 북부)에 있는 경우 *라이브러리 다운로드 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 설정합니다. 쿠키를 비활성화하려면 이 옵션을 `true`로 설정합니다.

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

  `searchDivClassName` - 기본적으로 Amazon Kendra 는 검색 결과 페이지의 모든 링크에서 클릭을 모니터링합니다. 지정된 클래스의 링크만 모니터링하려면 이 이름을 `<div>` 클래스 이름으로 설정합니다.

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

## 2단계: 검색 결과에 피드백 토큰 추가
<a name="javascript-step-2"></a>

결과 페이지에서 쿼리 응답의 문서에 대한 링크가 포함된 앵커 태그 또는 바로 위 상위 div 태그에 `data-kendra-token`이라는 HTML 속성을 추가합니다. 예제:

```
<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 메뉴**를 열고 **추가 도구** 선택한 다음 **개발자 도구**를 선택합니다.

1. 콘솔 탭에 Amazon Kendra JavaScript 라이브러리와 관련된 오류가 없는지 확인합니다.

1. 검색하고 원하는 결과를 선택하세요. 개발자 도구의 **네트워크** 탭에서. 피드백 엔드포인트로 전송된 요청, 결과 토큰, 200 OK 상태가 표시되어야 합니다.