Parcourir un index - Amazon Kendra

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Parcourir un index

Note

La prise en charge des fonctionnalités varie en fonction du type d'index et de l'API de recherche utilisés. Pour savoir si cette fonctionnalité est prise en charge pour le type d'index et l'API de recherche que vous utilisez, consultez la section Types d'index.

Vous pouvez parcourir les documents en fonction de leurs attributs ou de leurs facettes sans avoir à saisir de requête de recherche. Amazon Kendra Index Browse peut aider vos utilisateurs à découvrir des documents en parcourant librement un index sans avoir à répondre à une requête spécifique. Cela permet également à vos utilisateurs de parcourir largement un index comme point de départ de leur recherche.

Index Browse ne peut être utilisé que pour effectuer une recherche par attribut ou facette du document avec un type de tri. Vous ne pouvez pas effectuer de recherche dans un index complet à l'aide de l'outil Index Browse. Si le texte de la requête est absent, Amazon Kendra demande un filtre d'attribut de document ou une facette, ainsi qu'un type de tri.

Pour autoriser la navigation dans les index à l'aide de l'API Query, vous devez inclure AttributeFilterou Facet, et SortingConfiguration. Pour autoriser la navigation par index dans la console, sélectionnez votre index sous Index dans le menu de navigation, puis sélectionnez l'option permettant de rechercher dans votre index. Dans le champ de recherche, appuyez deux fois sur la touche Entrée. Sélectionnez le menu déroulant Filtrer les résultats de recherche pour choisir un filtre et sélectionnez le menu déroulant Trier pour choisir un type de tri.

Voici un exemple de navigation dans un index de documents en espagnol par ordre décroissant de date de création du document.

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