기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
인덱스 찾아보기
기능 지원은 인덱스 유형 및 사용 중인 검색 API에 따라 다릅니다. 사용 중인 인덱스 유형 및 검색 API에 대해이 기능이 지원되는지 확인하려면 인덱스 유형을 참조하세요.
검색 쿼리를 입력할 필요 없이 속성 또는 패싯별로 문서를 찾아볼 수 있습니다. Amazon Kendra 인덱스 찾아보기를 사용하면 사용자가 특정 쿼리를 염두에 두지 않고 인덱스를 자유롭게 탐색하여 문서를 검색할 수 있습니다. 또한 이를 통해 사용자는 검색의 시작점으로 인덱스를 광범위하게 탐색할 수 있습니다.
인덱스 찾아보기는 정렬 유형이 있는 문서 속성 또는 패싯별로 검색하는 경우에만 사용할 수 있습니다. 인덱스 찾아보기를 사용하여 전체 인덱스를 검색할 수는 없습니다. 쿼리 텍스트가 누락된 경우는 문서 속성 필터 또는 패싯과 정렬 유형을 Amazon Kendra 요청합니다.
쿼리 API를 사용하여 인덱스를 탐색할 수 있게 하려면 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");
}
}
}