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.
Navegar por un índice
El soporte de funciones varía según el tipo de índice y la API de búsqueda que se utilice. Para comprobar si esta función es compatible con el tipo de índice y la API de búsqueda que utilizas, consulta Tipos de índices.
Puedes buscar documentos por sus atributos o facetas sin tener que escribir una consulta de búsqueda. Amazon Kendra
Navegar por el índice puede ayudar a sus usuarios a descubrir documentos al navegar libremente por un índice sin tener en mente 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.
La navegación por un índice solo se puede utilizar para buscar por atributo o faceta del documento con un tipo de ordenación. No puede buscar en un índice completo mediante la navegación por el índice. Si falta el texto de la consulta, Amazon Kendra solicita un filtro de atributos del documento o una faceta y un tipo de ordenación.
Para permitir la navegación por índices mediante la API de consultas, debe incluir AttributeFiltero Facet y. SortingConfiguration Para permitir la navegación por el índice en la consola, seleccione su índice en Índices en el menú de navegación y, a continuación, seleccione la opción de buscar en su índice. En el cuadro de búsqueda, presione la tecla Intro dos veces. Seleccione el menú desplegable Filtrar los resultados de búsqueda para elegir un filtro y seleccione el menú desplegable Ordenar para elegir un tipo de ordenación.
El siguiente ejemplo muestra cómo navegar por un índice para buscar documentos en español en orden descendente según 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");
}
}
}