기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인덱스 쿼리.
참고
기능 지원은 인덱스 유형 및 사용 중인 검색API에 따라 다릅니다. 이 기능이 사용 중인 인덱스 유형 및 검색 API에 지원되는지 확인하려면 인덱스 유형을 참조하세요.
인덱스를 검색할 때는 문서에 대해 제공한 모든 정보를 Amazon Kendra 사용하여 입력한 검색어와 가장 관련성이 높은 문서를 결정합니다. 에서 Amazon Kendra 고려하는 몇 가지 항목은 다음과 같습니다.
-
문서의 텍스트 또는 본문.
-
문서의 제목.
-
검색 가능으로 표시한 사용자 지정 텍스트 필드.
-
지정한 날짜 필드는 문서의 “최신성”을 결정하는 데 사용해야 합니다.
-
관련 정보를 제공할 수 있는 기타 모든 필드.
Amazon Kendra 또한는 검색을 위해 설정한 필드/속성 필터를 기반으로 응답을 필터링할 수 있습니다. 예를 들어, “부서”라는 사용자 지정 필드가 있는 경우 “법률”이라는 부서의 문서만 반환하도록 응답을 필터링할 수 있습니다. 자세한 내용은 사용자 지정 필드 또는 속성을 참조하세요.
반환된 검색 결과는 각 문서에 대해가 Amazon Kendra 결정하는 관련성을 기준으로 정렬됩니다. 결과는 페이지로 구분되므로 사용자에게 한 번에 한 페이지씩 표시될 수 있습니다.
인덱싱한 문서를 검색하려면 AMAZON.KendraSearchIntent Amazon Kendra 를 Amazon Lex사용합니다. 를 로 구성하는 Amazon Kendra 예제는 인덱스용 Word 봇 생성을 Amazon Lex참조하세요. FAQ Amazon Kendra
다음 예제에서는 index. Amazon Kendra determines를 검색하는 방법을 보여줍니다.는 쿼리에 가장 적합한 검색 결과 유형(응답, 문서, 질문-응답)을 결정합니다. 특정 유형의 검색 응답(응답, 문서, 질문-응답)을 쿼리에 반환 Amazon Kendra 하도록를 구성할 수 없습니다.
쿼리 응답에 대한 자세한 내용은 쿼리 응답 및 응답 유형를 참조하세요.
사전 조건
쿼리 API를 사용하여 인덱스를 쿼리하기 전에:
-
인덱스에 필요한 권한을 설정하고 데이터 소스에 연결하거나 문서를 일괄 업로드하세요. 자세한 내용은 IAM 역할을 참조하세요. API를 호출하여 인덱스 및 데이터 소스 커넥터 또는 문서의 배치 업로드를 생성할 때 역할의 Amazon 리소스 이름을 사용합니다.
-
SDK AWS Command Line Interface를 설정하거나 Amazon Kendra 콘솔로 이동합니다. 자세한 내용은 Amazon Kendra설정을 참조하십시오.
-
인덱스를 만들고 문서의 데이터 소스에 연결하거나 문서를 일괄 업로드하세요. 자세한 내용은 인덱스 생성 및 데이터 소스 커넥터 생성을 참조하세요.
인덱스 검색 (콘솔)
Amazon Kendra 콘솔을 사용하여 인덱스를 검색하고 테스트할 수 있습니다. 쿼리를 만들고 결과를 볼 수 있습니다.
콘솔로 인덱스를 검색하려면
-
에 로그인 AWS Management Console 하고 http://console.aws.amazon.com/kendra/
콘솔을 Amazon Kendra 엽니다. -
탐색 창에서 인덱스를 선택합니다.
-
인덱스를 선택합니다.
-
탐색 메뉴에서 인덱스 검색 옵션을 선택합니다.
-
텍스트 상자에 쿼리를 입력한 후 Enter 키를 누릅니다.
-
Amazon Kendra 는 검색 결과를 반환합니다.
사이드 패널에서 전구 아이콘을 선택하여 검색에 대한 쿼리 ID를 얻을 수도 있습니다.
인덱스 검색(SDK)
Python 또는 Java로 인덱스를 검색하려면
-
다음 예제에서는 인덱스를 검색합니다.
query
의 값을 검색 쿼리로,index_id
또는indexId
를 검색하려는 인덱스의 인덱스 식별자로 변경합니다.쿼리 API를 호출할 때 응답 요소의 일부로 검색에 대한 쿼리 ID를 가져올 수도 있습니다.
인덱스 검색 (Postman)
Postman
Postman을 사용하여 인덱스를 검색하려면
-
Postman에서 새 컬렉션을 생성하고 요청 유형을 POST로 설정합니다.
-
엔드포인트 URL를 입력합니다. 예: https://kendra.<region>.amazonaws.com.
-
승인 탭을 선택하고 다음 정보를 입력합니다.
-
유형 - AWS 서명을 선택합니다.
-
AccessKey - IAM 사용자를 생성할 때 생성된 액세스 키를 입력합니다.
-
SecretKey - IAM 사용자를 생성할 때 생성된 보안 키를 입력합니다.
-
AWS 리전 - 인덱스의 리전을 입력합니다. 예: us-west-2.
-
서비스 이름 - kendra를 입력합니다. 대소문자를 구분하므로 소문자여야 합니다.
주의
서비스 이름을 잘못 입력하거나 소문자를 사용하지 않는 경우 전송을 선택하여 요청을 보내면 “자격 증명 범위가 올바른 서비스 'kendra'로 지정되어야 합니다.”라는 오류가 발생합니다.
또한 올바른 액세스 키 및 보안 암호 키를 입력했는지도 확인해야 합니다.
-
-
헤더 탭을 선택하고 다음 키 및 값 정보를 입력합니다.
-
키: X-Amz-Target
값: com.amazonaws.kendra.AWSKendraFrontendService.쿼리
-
키: Content-Encoding
값: amz-1.0
-
-
본문 탭을 선택하고 다음을 수행합니다.
-
요청 본문의 원시 JSON 유형을 선택합니다.
-
인덱스 ID와 쿼리 텍스트가 포함된 JSON를 입력합니다.
{ "IndexId": "
index-id
", "QueryText": "enter a query here" }주의
JSON가 올바른 인덴테이션을 사용하지 않으면 "SerializationException" 오류가 발생합니다. JSON에서 인덴테이션을 확인합니다.
-
-
전송(오른쪽 상단 근처)을 선택합니다.
고급 쿼리 구문으로 검색
고급 쿼리 구문이나 연산자를 사용하여 단순 키워드나 자연어 쿼리보다 더 구체적인 쿼리를 만들 수 있습니다. 여기에는 범위, 부울, 와일드카드 등이 포함됩니다. 연산자를 사용하면 쿼리에 더 많은 컨텍스트를 제공하고 검색 결과를 더 세분화할 수 있습니다.
Amazon Kendra 는 다음 연산자를 지원합니다.
-
부울: 검색을 제한하거나 넓히는 로직. 예를 들어,
amazon AND sports
는 두 용어가 모두 포함된 문서만 검색하도록 검색을 제한합니다. -
괄호: 중첩된 쿼리 용어를 우선 순위에 따라 읽습니다. 예를 들어,
(amazon AND sports) NOT rainforest
는(amazon AND sports)
를NOT rainforest
보다 먼저 읽습니다. -
범위: 날짜 또는 숫자 범위 값. 범위는 포함, 제외 또는 제한 없음일 수 있습니다. 예를 들어, 해당 날짜를 포함하여 2020년 1월 1일에서 2020년 12월 31일 사이에 마지막으로 업데이트된 문서를 검색할 수 있습니다.
-
필드: 특정 필드를 사용하여 검색을 제한합니다. 예를 들어, '위치' 필드에 '미국'이 있는 문서를 검색할 수 있습니다.
-
와일드카드: 텍스트 문자열과 부분적으로 일치합니다. 예를 들어,는 match CloudFormation를 사용할
Cloud*
수 있습니다. Amazon Kendra 는 현재 후행 와일드카드만 지원합니다. -
정확한 따옴표: 텍스트 문자열과 정확히 일치합니다.
"Amazon Kendra" "pricing"
을 포함하는 문서를 예로 들 수 있습니다.
위 연산자를 여럿 조합하여 사용할 수 있습니다.
연산자를 과도하게 사용하거나 매우 복잡한 쿼리를 사용하면 쿼리 지연 시간에 영향을 줄 수 있습니다. 와일드카드는 지연 시간 측면에서 가장 비용이 많이 드는 연산자입니다. 일반적으로 사용하는 용어와 연산자가 많을수록 지연 시간에 미치는 잠재적 영향도 커집니다. 지연 시간에 영향을 미치는 다른 요인으로는 인덱싱된 문서의 평균 크기, 인덱스의 크기, 검색 결과에 대한 필터링, Amazon Kendra 인덱스에 대한 전체 로드 등이 있습니다.
불
부울 연산자 AND
, OR
, NOT
를 사용하여 여러 단어를 결합하거나 제외할 수 있습니다.
다음은 부울 연산자를 사용하는 예제입니다.
amazon AND sports
텍스트에 '아마존'과 '스포츠'라는 용어가 모두 포함된 검색 결과(예: Amazon Prime 비디오 스포츠 또는 기타 유사한 콘텐츠)를 반환합니다.
sports OR recreation
텍스트에 '스포츠' 또는 '레크리에이션' 또는 둘 다 포함된 검색 결과를 반환합니다.
amazon NOT rainforest
텍스트에 '아마존'이라는 용어는 포함되지만 '열대우림'이라는 용어는 포함되지 않은 검색 결과를 반환합니다. 이는 아마존 열대우림이 아니라 아마존이라는 회사에 관한 문서를 검색하기 위한 것입니다.
괄호
괄호를 사용하여 우선순위에 따라 중첩된 단어를 쿼리할 수 있습니다. 괄호는 쿼리를 읽는 Amazon Kendra 방법을 나타냅니다.
다음은 괄호 연산자를 사용하는 예제입니다.
(amazon AND sports) NOT rainforest
텍스트에 '아마존'과 '스포츠'라는 용어가 모두 포함되지만 '열대우림'이라는 용어는 포함되지 않은 문서를 반환합니다. 아마존 열대우림의 어드벤처 스포츠가 아닌 Amazon Prime 비디오 스포츠 또는 기타 유사한 콘텐츠를 검색하기 위한 것입니다. 괄호는 amazon AND sports
가 NOT rainforest
보다 먼저 읽혀야 된다는 지시입니다. 쿼리가 다음과 같이 읽히면 안 됩니다. amazon
AND (sports NOT rainforest)
(amazon AND (sports OR recreation)) NOT
rainforest
'스포츠' 또는 '레크리에이션'이라는 용어 또는 둘 다와 '아마존'이라는 용어가 포함된 문서를 반환합니다. 하지만 '열대우림'이라는 용어는 포함되지 않습니다. 아마존 열대우림의 어드벤처 스포츠가 아닌 Amazon Prime 비디오 스포츠 또는 레크리에이션을 검색하기 위한 것입니다. 괄호는 NOT rainforest
가 먼저 읽히지만, ‘아마존’과 결합하기 전에 sports OR
recreation
가 읽혀야 한다는 지시입니다. 쿼리가 다음과 같이 읽히면 안 됩니다. amazon AND (sports OR (recreation NOT rainforest))
범위
값 범위를 사용하여 검색 결과를 필터링할 수 있습니다. 속성과 범위 값을 지정합니다. 날짜 또는 숫자 유형일 수 있습니다.
날짜 범위는 다음 형식이어야 합니다.
-
Epoch
-
YYYY
-
YYYY-mm
-
YYYY-mm-dd
-
YYYY-mm-dd'T'HH
범위의 하위 값과 상위 값을 포함할지 또는 제외할지도 지정할 수 있습니다.
다음은 부울 연산자를 사용하는 예제입니다.
_processed_date:>2019-12-31 AND
_processed_date:<2021-01-01
2020년(2019년 12월 31일 이후부터 2021년 1월 1일 이전까지)에 처리된 문서를 반환합니다.
_processed_date:>=2020-01-01 AND
_processed_date:<=2020-12-31
2020년(2020년 1월 1일부터 2020년 12월 31일까지)에 처리된 문서를 반환합니다.
_document_likes:<1
좋아요가 없거나 사용자 피드백이 없는 문서(좋아요가 1개 미만)인 문서를 반환합니다.
범위를 주어진 범위 값을 포함하는 것으로 처리할지 아니면 제외로 처리할지 지정할 수 있습니다.
Inclusive
_last_updated_at:[2020-01-01 TO
2020-12-31]
2020년 12월 1일과 2020년 12월 31일을 포함하여 2020년에 마지막으로 업데이트된 문서를 반환합니다.
Exclusive
_last_updated_at:{2019-12-31 TO
2021-01-01}
2019년 12월 31일과 2021년 1월 1일을 제외하고 2020년에 마지막으로 업데이트된 문서를 반환합니다.
포함하지도 제외하지도 않는, 제한 없는 범위의 경우 < and > 연산자를 사용하면 됩니다. 예제: _last_updated_at:>2019-12-31 AND
_last_updated_at:<2021-01-01
필드
특정 필드의 값을 충족하는 문서만 반환하도록 검색을 제한할 수 있습니다. 필드는 모든 유형이 될 수 있습니다.
다음은 필드 수준 컨텍스트 연산자를 사용하는 예제입니다.
status:"Incomplete" AND
financial_year:2021
상태가 미완성인 2021 회계연도의 문서를 반환합니다.
(sports OR recreation) AND country:"United
States" AND level:"professional"
미국 내 프로 스포츠 또는 레크리에이션에 관한 문서를 반환합니다.
와일드카드
와일드카드 연산자를 사용하여 다양한 단어와 구문을 포함하도록 검색 범위를 넓힐 수 있습니다. 이는 이름 변형을 검색할 때 유용합니다. Amazon Kendra 현재는 후행 와일드카드만 지원합니다. 후행 와일드카드의 접두사 문자 수는 2보다 커야 합니다.
다음은 와일드카드 연산자를 사용하는 예제입니다.
Cloud*
CloudFormation 및 CloudWatch와 같은 변형이 포함된 문서를 반환합니다.
kendra*aws
kendra.amazonaws 같은 변형을 포함하는 문서를 반환합니다.
kendra*aws*
kendra.amazonaws.com 같은 변형을 포함하는 문서를 반환합니다.
정확한 따옴표
따옴표를 사용하여 텍스트와 정확히 일치하는 항목을 검색할 수 있습니다.
다음은 따옴표를 사용하는 예제입니다.
"Amazon Kendra" "pricing"
'Amazon Kendra' 문구와 '가격'이라는 용어가 모두 포함된 문서를 반환합니다. 결과를 반환하려면 문서에 'Amazon Kendra'와 '가격'이 모두 포함되어야 합니다.
"Amazon Kendra" "pricing"
cost
'Amazon Kendra' 문구와 '가격'이라는 용어, 선택적으로 '비용'이라는 용어가 모두 포함된 문서를 반환합니다. 문서에 'Amazon Kendra'와 '가격'이 모두 포함되어야 결과에 표시되지만 '비용'은 반드시 포함되지 않을 수 있습니다.
잘못된 쿼리 구문
Amazon Kendra 는 쿼리 구문에 문제가 있거나 현재에서 쿼리를 지원하지 않는 경우 경고를 보냅니다 Amazon Kendra. 자세한 내용은 쿼리 경고에 대한 API 설명서를 참조하세요.
다음 쿼리는 잘못된 쿼리 구문의 예입니다.
_last_updated_at:<2021-12-32
잘못된 날짜. Amazon Kendra에서 사용하는 그레고리력에는 32일이 존재하지 않습니다.
_view_count:ten
잘못된 숫자 값. 숫자 값을 나타내려면 숫자를 사용해야 합니다.
nonExistentField:123
잘못된 필드 검색. 필드 검색을 사용하려면 필드가 존재해야 합니다.
Product:[A TO D]
잘못된 범위. 범위에는 숫자 값이나 날짜를 사용해야 합니다.
OR Hello
잘못된 부울. 연산자는 용어와 함께 사용하고 용어 사이에 배치해야 합니다.
언어로 검색
지원되는 언어로 문서를 검색할 수 있습니다. AttributeFilter의 언어 코드를 전달하여 선택한 언어로 필터링된 문서를 반환합니다. 지원되는 언어로 쿼리를 입력할 수 있습니다.
언어를 지정하지 않으면는 기본적으로 영어로 문서를 Amazon Kendra 쿼리합니다. 코드를 포함하여 지원되는 언어에 대한 자세한 내용은 영어 이외의 언어로 문서 추가를 참조하세요.
콘솔에서 지원되는 언어로 문서를 검색하려면 인덱스를 선택한 다음 탐색 메뉴에서 인덱스 검색 옵션을 선택합니다. 검색 설정을 선택한 다음 언어 드롭다운에서 언어를 선택하여 문서를 반환할 언어를 선택합니다.
다음 예에서는 스페인어로 문서를 검색하는 방법을 보여줍니다.
콘솔에서 스페인어로 인덱스를 검색하려면
-
에 로그인 AWS Management Console 하고 http://console.aws.amazon.com/kendra/
콘솔을 Amazon Kendra 엽니다. -
탐색 메뉴에서 인덱스를 선택하고 해당 인덱스를 선택합니다.
-
탐색 메뉴에서 인덱스 검색 옵션을 선택합니다.
-
검색 설정에서 언어 드롭다운을 선택하고 스페인어를 선택합니다.
-
텍스트 상자에 쿼리를 입력한 후 Enter 키를 누릅니다.
-
Amazon Kendra 는 스페인어로 검색 결과를 반환합니다.
CLI, Python 또는 Java를 사용하여 스페인어로 인덱스를 검색하려면
-
다음 예제에서는 스페인어로 인덱스를 검색합니다.
searchString
값을 검색 쿼리로 변경하고indexID
값을 검색하려는 인덱스의 식별자로 변경합니다. 스페인어의 언어 코드는es
입니다. 이 코드를 사용자의 언어 코드로 바꿀 수 있습니다.