Búsqueda de un índice - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Búsqueda de un índice

Puede explorar los documentos por sus atributos o facetas sin tener que escribir una consulta de búsqueda.Amazon Kendra Navegación de índicepuede ayudar a los usuarios a descubrir documentos navegando libremente por un índice sin tener en cuenta una consulta específica. Esto también ayuda a los usuarios a navegar ampliamente por un índice como punto de partida en su búsqueda.

Index Browse solo se puede utilizar para buscar por atributo de documento o faceta con un tipo de ordenación. No se puede buscar en un índice completo mediante Index Browse. Si falta el texto de la consulta, entoncesAmazon Kendrasolicita un filtro de atributos de documento o una faceta y un tipo de ordenación.

Para permitir la navegación de índices mediante elConsultaAPI, debes incluirFiltro de atributosoFaceta, yConfiguración de ordenación. Para permitir la navegación de índices en la consola, selecciona tu índice enÍndicesen el menú de navegación y, a continuación, selecciona la opción para buscar el índice. En el campo de búsqueda, presione la teclaEntrarllave dos veces. Seleccione el menú desplegableFiltrar resultados de búsquedapara elegir un filtro y seleccionar el menú desplegableSortpara elegir un tipo de clasificación.

A continuación se muestra un ejemplo de navegación en un índice de documentos en el idioma español en orden descendente de la fecha de creación del documento.

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"); } } }