인덱스 찾아보기 - Amazon Kendra

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

인덱스 찾아보기

검색 쿼리를 입력하지 않고도 속성이나 패싯별로 문서를 찾아볼 수 있습니다. Amazon Kendra 인덱스 찾아보기를 사용하면 사용자가 특정 쿼리를 염두에 두지 않고 인덱스를 자유롭게 탐색하여 문서를 검색할 수 있습니다. 또한 이를 통해 사용자는 검색의 시작점으로 인덱스를 광범위하게 탐색할 수 있습니다.

인덱스 찾아보기는 정렬 유형이 있는 문서 속성 또는 패싯별로 검색하는 경우에만 사용할 수 있습니다. 인덱스 찾아보기를 사용하여 전체 인덱스를 검색할 수는 없습니다. 쿼리 텍스트가 없는 경우 문서 속성 필터 또는 패싯과 정렬 유형을 Amazon Kendra 요청합니다.

쿼리 API를 사용하여 인덱스를 탐색할 수 있게 하려면 Facet 및 AttributeFilter를 포함해야 합니다. SortingConfiguration 콘솔에서 인덱스 탐색을 허용하려면 탐색 메뉴의 인덱스에서 인덱스를 선택한 다음 인덱스 검색 옵션을 선택합니다. 검색 상자에서 Enter 키를 두 번 누릅니다. 검색 결과 필터링 드롭다운을 선택하여 필터를 선택하고 정렬 드롭다운을 선택하여 정렬 유형을 선택합니다.

다음은 스페인어로 된 문서에 대한 인덱스를 문서 작성 날짜의 내림차순으로 찾아보는 예입니다.

CLI
aws kendra query \ --index-id "index-id" \ --attribute-filter '{ "EqualsTo":{ "Key": "_language_code", "Value": { "StringValue": "es" } } }' \ --sorting-configuration '{ "DocumentAttributeKey": "_created_at", "SortOrder": "DESC" }'
Python
import boto3 kendra = boto3.client("kendra") # Must include the index ID, the attribute filter, and sorting configuration response = kendra.query( IndexId = "index-id", AttributeFilter = { "EqualsTo": { "Key": "_language_code", "Value": { "StringValue": "es" } } }, SortingConfiguration = { "DocumentAttributeKey": "_created_at", "SortOrder": "DESC"}) print("\nSearch results|Resultados de la búsqueda: \n") for query_result in response["ResultItems"]: print("-------------------") print("Type: " + str(query_result["Type"])) if query_result["Type"]=="ANSWER" or query_result["Type"]=="QUESTION_ANSWER": answer_text = query_result["DocumentExcerpt"]["Text"] print(answer_text) if query_result["Type"]=="DOCUMENT": if "DocumentTitle" in query_result: document_title = query_result["DocumentTitle"]["Text"] print("Title: " + document_title) document_text = query_result["DocumentExcerpt"]["Text"] print(document_text) print("------------------\n\n")
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.QueryRequest; import software.amazon.awssdk.services.kendra.model.QueryResult; import software.amazon.awssdk.services.kendra.model.QueryResultItem; public class SearchIndexExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); QueryRequest queryRequest = QueryRequest.builder() .withIndexId("index-id") .withAttributeFilter(AttributeFilter.builder() .withEqualsTo(DocumentAttribute.builder() .withKey("_language_code") .withValue(DocumentAttributeValue.builder() .withStringValue("es") .build()) .build()) .build()) .withSortingConfiguration(SortingConfiguration.builder() .withDocumentAttributeKey("_created_at") .withSortOrder("DESC") .build()) .build()); QueryResult queryResult = kendra.query(queryRequest); for (QueryResultItem item : queryResult.getResultItems()) { System.out.println("----------------------"); System.out.println(String.format("Type: %s", item.getType())); switch (item.getType()) { case QueryResultType.QUESTION_ANSWER: case QueryResultType.ANSWER: String answerText = item.getDocumentExcerpt().getText(); System.out.println(answerText); break; case QueryResultType.DOCUMENT: String documentTitle = item.getDocumentTitle().getText(); System.out.println(String.format("Title: %s", documentTitle)); String documentExcerpt = item.getDocumentExcerpt().getText(); System.out.println(String.format("Excerpt: %s", documentExcerpt)); break; default: System.out.println(String.format("Unknown query result type: %s", item.getType())); } System.out.println("-----------------------\n"); } } }