쿼리 응답 및 응답 유형
참고
기능 지원은 인덱스 유형 및 사용 중인 검색 API에 따라 다릅니다. 사용 중인 인덱스 유형 및 검색 API에 대해 이 기능이 지원되는지 확인하려면 인덱스 유형을 참조하세요.
Amazon Kendra는 다양한 쿼리 응답 및 응답 유형을 지원합니다.
쿼리 응답
Query API를 호출하면 검색 결과에 대한 정보가 반환됩니다. 결과는 QueryResultItem 객체(ResultItems)의 배열에 있습니다. 각 QueryResultItem 항목에는 결과 요약이 포함됩니다. 쿼리 결과와 관련된 문서 속성이 포함됩니다.
요약 정보
요약 정보는 결과 유형에 따라 달라집니다. 각 경우에 검색어와 일치하는 문서 텍스트가 포함됩니다. 또한 애플리케이션 출력에서 검색 텍스트를 강조 표시하는 데 사용할 수 있는 강조 표시 정보도 포함되어 있습니다. 예를 들어 검색어가 스페이스 니들 높이는 얼마인가요?인 경우, 요약 정보에는 높이 및 스페이스 니들이라는 단어의 텍스트 위치가 포함됩니다. 응답 유형에 대한 자세한 내용은 쿼리 응답 및 응답 유형 단원을 참조하세요.
문서 속성
각 결과에는 쿼리와 일치하는 문서의 문서 속성이 포함됩니다. DocumentId, DocumentTitle, DocumentUri 등 일부 속성은 미리 정의되어 있습니다. 다른 것들은 사용자가 정의하는 사용자 지정 속성입니다. 문서 속성을 사용하여 Query API의 응답을 필터링할 수 있습니다. 예를 들어, 특정 작성자가 작성한 문서나 문서의 특정 버전만 원할 수 있습니다. 자세한 내용은 검색 필터링 및 패싯 섹션을 참조하세요. 인덱스에 문서를 추가할 때 문서 속성을 지정합니다. 자세한 내용은 사용자 지정 필드 또는 속성을 참조하세요.
다음은 쿼리 결과를 위한 샘플 JSON 코드입니다. DocumentAttributes 및 AdditionalAttributes의 문서 속성을 기록해 두세요.
{ "QueryId": "query-id", "ResultItems": [ { "Id": "result-id", "Type": "ANSWER", "AdditionalAttributes": [ { "Key": "AnswerText", "ValueType": "TEXT_WITH_HIGHLIGHTS_VALUE", "Value": { "TextWithHighlightsValue": { "Text": "text", "Highlights": [ { "BeginOffset": 55, "EndOffset": 90, "TopAnswer": false } ] } } } ], "DocumentId": "document-id", "DocumentTitle": { "Text": "title" }, "DocumentExcerpt": { "Text": "text", "Highlights": [ { "BeginOffset": 0, "EndOffset": 300, "TopAnswer": false } ] }, "DocumentURI": "uri", "DocumentAttributes": [], "ScoreAttributes": "score", "FeedbackToken": "token" }, { "Id": "result-id", "Type": "ANSWER", "Format": "TABLE", "DocumentId": "document-id", "DocumentTitle": { "Text": "title" }, "TableExcerpt": { "Rows": [{ "Cells": [{ "Header": true, "Highlighted": false, "TopAnswer": false, "Value": "value" }, { "Header": true, "Highlighted": false, "TopAnswer": false, "Value": "value" }, { "Header": true, "Highlighted": false, "TopAnswer": false, "Value": "value" }, { "Header": true, "Highlighted": false, "TopAnswer": false, "Value": "value" }] }, { "Cells": [{ "Header": false, "Highlighted": false, "TopAnswer": false, "Value": "value" }, { "Header": false, "Highlighted": false, "TopAnswer": false, "Value": "value" }, { "Header": false, "Highlighted": true, "TopAnswer": true, "Value": "value" }, { "Header": false, "Highlighted": false, "TopAnswer": false, "Value": "value" ]} }], "TotalNumberofRows":number}, "DocumentURI": "uri", "ScoreAttributes": "score", "FeedbackToken": "token" }, { "Id": "result-id", "Type": "DOCUMENT", "AdditionalAttributes": [], "DocumentId": "document-id", "DocumentTitle": { "Text": "title", "Highlights": [] }, "DocumentExcerpt": { "Text": "text", "Highlights": [ { "BeginOffset": 74, "EndOffset": 77, "TopAnswer": false } ] }, "DocumentURI": "uri", "DocumentAttributes": [ { "Key": "_source_uri", "Value": { "StringValue": "uri" } } ], "ScoreAttributes": "score", "FeedbackToken": "token", } ], "FacetResults": [], "TotalNumberOfResults":number}
응답 유형
Amazon Kendra는 세 가지 유형의 쿼리 응답을 반환합니다.
-
답변(테이블 답변 포함)
-
문서
-
질문 및 답변
응답 유형은 QueryResultItem 객체의 Type 응답 필드에 반환됩니다.
Answer
Amazon Kendra는 응답에서 질문 답변을 하나 이상 감지했습니다. 팩토이드는 누가, 무엇을, 언제, 어디를 묻는 질문(예: 가장 가까운 서비스 센터는 어디입니까?)에 대한 응답입니다. Amazon Kendra는 쿼리와 가장 일치하는 인덱스의 텍스트를 반환합니다. 텍스트는 AnswerText 필드에 있으며 응답 텍스트 내 검색어에 대한 강조 표시 정보를 포함합니다. AnswerText는 전체 문서 발췌문과 강조 표시된 텍스트를 포함하고, DocumentExcerpt는 잘린(290자) 문서 발췌문과 강조 표시된 텍스트를 포함합니다.
Amazon Kendra는 문서당 하나의 답변만 반환하며, 가장 신뢰도가 높은 답변입니다. 한 문서에서 여러 개의 답을 반환하려면 문서를 여러 문서로 분할해야 합니다.
{ 'AnswerText': { 'TextWithHighlights': [ { 'BeginOffset': 271, 'EndOffset': 279, 'TopAnswer': False }, { 'BeginOffset': 481, 'EndOffset': 489, 'TopAnswer': False }, { 'BeginOffset': 547, 'EndOffset': 555, 'TopAnswer': False }, { 'BeginOffset': 764, 'EndOffset': 772, 'TopAnswer': False } ], 'Text': 'Asynchronousoperationscan\n''alsoprocess\n''documentsthatareinPDF''format.UsingPDFformatfilesallowsyoutoprocess''multi-page\n''documents.\n''Forinformationabouthow''AmazonTextractrepresents\n''documentsasBlockobjects, ''seeDocumentsandBlockObjects.\n''\n''\n''\n''Forinformationaboutdocument''limits, seeLimitsinAmazonTextract.\n''\n''\n''\n''TheAmazonTextractsynchronous''operationscanprocessdocumentsstoredinanAmazon\n''S3Bucketoryoucanpass''base64encodedimagebytes.\n''Formoreinformation, see''CallingAmazonTextractSynchronousOperations.''Asynchronousoperationsrequireinputdocuments\n''tobesuppliedinanAmazon''S3Bucket.' }, 'DocumentExcerpt': { 'Highlights': [ { 'BeginOffset': 0, 'EndOffset': 300, 'TopAnswer': False } ], 'Text': 'Asynchronousoperationscan\n''alsoprocess\n''documentsthatareinPDF''format.UsingPDFformatfilesallowsyoutoprocess''multi-page\n''documents.\n''ForinformationabouthowAmazon''Textractrepresents\n''' }, 'Type': 'ANSWER' }
문서
Amazon Kendra는 검색어와 일치하는 결과에 대해 순위가 매겨진 문서를 반환합니다. 순위는 검색 결과의 정확성에 대한 Amazon Kendra의 신뢰도를 기반으로 합니다. 일치하는 문서에 대한 정보가 QueryResultItem에 반환됩니다. 문서의 제목이 들어 있습니다. 발췌문에는 검색 텍스트의 강조 표시 정보와 문서 내 일치하는 텍스트 섹션이 포함되어 있습니다. 일치하는 문서의 URI는 SourceURI 문서 속성에 있습니다. 다음 샘플 JSON은 일치하는 문서에 대한 문서 요약을 보여줍니다.
{ 'DocumentTitle': { 'Highlights': [ { 'BeginOffset': 7, 'EndOffset': 15, 'TopAnswer': False }, { 'BeginOffset': 97, 'EndOffset': 105, 'TopAnswer': False } ], 'Text': 'AmazonTextractAPIPermissions: Actions, \n''Permissions, andResourcesReference-''AmazonTextract' }, 'DocumentExcerpt': { 'Highlights': [ { 'BeginOffset': 68, 'EndOffset': 76, 'TopAnswer': False }, { 'BeginOffset': 121, 'EndOffset': 129, 'TopAnswer': False } ], 'Text': '...LoggingandMonitoring\tMonitoring\n''\tCloudWatchMetricsforAmazonTextract\n''\tLoggingAmazonTextractAPICallswithAWSCloudTrail\n''\tAPIReference\tActions\tAnalyzeDocument\n''\tDetectDocumentText\n''\tGetDocumentAnalysis...' }, 'Type': 'DOCUMENT' }
질문 및 답변
Amazon Kendra가 질문을 인덱스의 자주 묻는 질문 중 하나와 매칭하면 질문 및 답변 응답이 반환됩니다. 이 응답에는 QueryResultItem 필드에 일치하는 질문과 답변이 포함됩니다. 또한 쿼리 문자열에서 감지된 쿼리 용어에 대한 강조 표시 정보도 포함됩니다. 다음 JSON은 질문 및 답변 응답을 보여줍니다. 응답에는 질문 텍스트가 포함되어 있다는 점에 유의하세요.
{ 'AnswerText': { 'TextWithHighlights': [ ], 'Text': '605feet' }, 'DocumentExcerpt': { 'Highlights': [ { 'BeginOffset': 0, 'EndOffset': 8, 'TopAnswer': False } ], 'Text': '605feet' }, 'Type': 'QUESTION_ANSWER', 'QuestionText': { 'Highlights': [ { 'BeginOffset': 12, 'EndOffset': 18, 'TopAnswer': False }, { 'BeginOffset': 26, 'EndOffset': 31, 'TopAnswer': False }, { 'BeginOffset': 32, 'EndOffset': 38, 'TopAnswer': False } ], 'Text': 'whatistheheightoftheSpaceNeedle?' } }
인덱스에 질문 및 답변 텍스트를 추가하는 방법에 대한 자세한 내용은 FAQ 생성을 참조하세요.