suggestions de requêtes - 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.

suggestions de requêtes

Note

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

Amazon Kendra Les suggestions de requêtes peuvent aider vos utilisateurs à saisir leurs requêtes de recherche plus rapidement et à orienter leur recherche.

Amazon Kendra suggère des requêtes pertinentes pour vos utilisateurs sur la base de l'un des éléments suivants :

  • Requêtes populaires dans l'historique des requêtes ou le journal des requêtes

  • Le contenu des champs/attributs du document

Vous pouvez définir vos préférences pour l'utilisation de l'historique des requêtes ou des champs du document en les définissant SuggestionTypes comme QUERY suit ou DOCUMENT_ATTRIBUTES en appelant GetQuerySuggestions. Amazon Kendra Utilise par défaut l'historique des requêtes pour baser ses suggestions. Si l'historique des requêtes et les champs du document sont tous deux activés lorsque vous appelez UpdateQuerySuggestionsConfiget vous n'avez pas défini votre SuggestionTypes préférence pour utiliser les champs du document, puis Amazon Kendra utilisez l'historique des requêtes.

Si vous utilisez la console, vous pouvez baser vos suggestions de requêtes sur l'historique des requêtes ou sur les champs du document. Vous devez d'abord sélectionner votre index, puis sélectionner Suggestions de requêtes sous Enrichissements dans le menu de navigation. Sélectionnez ensuite Configurer les suggestions de requêtes. Après avoir configuré les suggestions de requêtes, vous êtes dirigé vers une console de recherche dans laquelle vous pouvez sélectionner les champs Historique des requêtes ou Document dans le panneau de droite et saisir une requête de recherche dans la barre de recherche.

Par défaut, les suggestions de requêtes utilisant l'historique des requêtes et les champs du document sont toutes deux activées sans frais supplémentaires. Vous pouvez désactiver ces types de suggestions de requêtes à tout moment en utilisant le UpdateQuerySuggestionsConfigAPI. Pour désactiver les suggestions de requêtes en fonction de l'historique des requêtes, définissez cette option sur DISABLED lors Mode de l'appelUpdateQuerySuggestionsConfig. Pour désactiver les suggestions de requêtes basées sur les champs du document, définissez AttributeSuggestionsMode ce paramètre INACTIVE dans la configuration des champs du document, puis appelezUpdateQuerySuggestionsConfig>. Si vous utilisez la console, vous pouvez désactiver les suggestions de requêtes dans les paramètres des suggestions de requêtes.

Les suggestions de requêtes ne distinguent pas les majuscules et minuscules. Amazon Kendra convertit le préfixe de requête et la requête suggérée en minuscules, ignore tous les guillemets simples et doubles et remplace plusieurs espaces blancs par un seul espace. Amazon Kendra correspond à tous les autres caractères spéciaux tels quels. Amazon Kendra n'affiche aucune suggestion si un utilisateur saisit moins de deux caractères ou plus de 60 caractères.

Suggestions de requêtes utilisant l'historique des requêtes

Note

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

Vous pouvez choisir de suggérer des requêtes pertinentes pour vos utilisateurs en fonction des requêtes courantes figurant dans l'historique des requêtes ou le journal des requêtes. Amazon Kendra utilise toutes les requêtes recherchées par vos utilisateurs et en tire des leçons pour faire des suggestions à vos utilisateurs. Amazon Kendra suggère des requêtes populaires aux utilisateurs lorsqu'ils commencent à taper leur requête. Amazon Kendra suggère une requête si le préfixe ou les premiers caractères de la requête correspondent à ce que l'utilisateur commence à taper comme requête.

Par exemple, un utilisateur commence à taper la requête « événements à venir ». Amazon Kendra a appris de l'historique des requêtes que de nombreux utilisateurs ont recherché à de nombreuses reprises « événements à venir en 2050 ». L'utilisateur voit « événements à venir 2050 » apparaître directement sous sa barre de recherche, complétant automatiquement sa requête de recherche. L'utilisateur sélectionne cette suggestion de requête, et le document « Nouveaux événements : que se passe-t-il en 2050 » apparaît dans les résultats de recherche.

Vous pouvez définir le mode Amazon Kendra de sélection des requêtes éligibles à suggérer à vos utilisateurs. Par exemple, vous pouvez spécifier qu'une suggestion de requête doit avoir été recherchée par au moins 10 utilisateurs uniques (la valeur par défaut est trois), avoir été recherchée au cours des 30 derniers jours et ne contenir aucun mot ou expression de votre liste de blocage. Amazon Kendra exige qu'une requête comporte au moins un résultat de recherche et contienne au moins un mot de plus de quatre caractères.

Paramètres de sélection des requêtes pour les suggestions

Vous pouvez configurer les paramètres suivants pour sélectionner des requêtes de suggestions à l'aide du UpdateQuerySuggestionsConfig API:

  • Mode —Les suggestions de requêtes utilisant l'historique des requêtes sont soit, ENABLED soitLEARN_ONLY. Amazon Kendra active les suggestions de requêtes par défaut. LEARN_ONLYdésactive les suggestions de requêtes. Si cette option est désactivée, elle Amazon Kendra continue à apprendre les suggestions, mais ne propose pas de suggestions de requêtes aux utilisateurs.

  • Fenêtre temporelle du journal des requêtes : date de la date de vos requêtes dans la fenêtre temporelle du journal des requêtes. La fenêtre temporelle est une valeur entière correspondant au nombre de jours entre le jour actuel et les jours précédents.

  • Requêtes sans informations utilisateur : définissez ce TRUE paramètre sur pour inclure toutes les requêtes ou sur uniquement FALSE les requêtes contenant des informations utilisateur. Vous pouvez utiliser ce paramètre si votre application de recherche inclut des informations utilisateur, telles que l'ID utilisateur, lorsqu'un utilisateur émet une requête. Par défaut, ce paramètre ne filtre pas les requêtes si aucune information utilisateur spécifique n'est associée aux requêtes. Toutefois, vous ne pouvez utiliser ce paramètre que pour faire des suggestions basées sur des requêtes contenant des informations utilisateur.

  • Utilisateurs uniques : nombre minimum d'utilisateurs uniques qui doivent effectuer une recherche pour que celle-ci puisse être suggérée à vos utilisateurs. Ce nombre est une valeur entière.

  • Nombre de requêtes : nombre minimum de fois qu'une requête doit être recherchée pour qu'elle puisse être suggérée à vos utilisateurs. Ce nombre est une valeur entière.

Ces paramètres affectent la manière dont les requêtes sont sélectionnées en tant que requêtes populaires à suggérer à vos utilisateurs. La façon dont vous réglerez vos paramètres dépendra de vos besoins spécifiques, par exemple :

  • Si vos utilisateurs effectuent généralement une recherche une fois par mois en moyenne, vous pouvez définir le nombre de jours dans la fenêtre du journal des requêtes à 30 jours. En utilisant ce paramètre, vous capturez la plupart des requêtes récentes de vos utilisateurs avant qu'elles ne deviennent obsolètes dans la fenêtre temporelle.

  • Si seul un petit nombre de vos requêtes incluent des informations utilisateur et que vous ne souhaitez pas suggérer de requêtes basées sur un échantillon de petite taille, vous pouvez définir des requêtes pour inclure tous les utilisateurs.

  • Si vous définissez les requêtes populaires comme étant recherchées par au moins 10 utilisateurs uniques et recherchées au moins 100 fois, vous définissez les utilisateurs uniques sur 10 et le nombre de requêtes sur 100.

Avertissement

Les modifications que vous avez apportées aux paramètres peuvent ne pas prendre effet immédiatement. Vous pouvez suivre les modifications des paramètres en utilisant le DescribeQuerySuggestionsConfigAPI. Le délai d'entrée en vigueur de vos paramètres mis à jour dépend des mises à jour que vous effectuez et du nombre de requêtes de recherche dans votre index. Amazon Kendra met automatiquement à jour les suggestions toutes les 24 heures, après avoir modifié un paramètre ou après avoir appliqué une liste de blocage.

CLI

Pour récupérer des suggestions de requêtes

aws kendra get-query-suggestions \ --index-id index-id \ --query-text "query-text" \ --suggestion-types '["QUERY"]' \ --max-suggestions-count 1 // If you want to limit the number of suggestions

Pour mettre à jour les suggestions de requêtes

Par exemple, pour modifier la fenêtre temporelle du journal des requêtes et le nombre minimum de fois qu'une requête doit être recherchée :

aws kendra update-query-suggestions-config \ --index-id index-id \ --query-log-look-back-window-in-days 30 \ --minimum-query-count 100
Python

Pour récupérer des suggestions de requêtes

import boto3 from botocore.exceptions import ClientError kendra = boto3.client("kendra") print("Get query suggestions.") # Provide the index ID index_id = "index-id" # Provide the query text query_text = "query" # Provide the query suggestions type query_suggestions_type = "QUERY" # If you want to limit the number of suggestions num_suggestions = 1 try: query_suggestions_response = kendra.get_query_suggestions( IndexId = index_id, QueryText = query_text, SuggestionTypes = query_suggestions_type, MaxSuggestionsCount = num_suggestions ) # Print out the suggestions you received if ("Suggestions" in query_suggestions_response.keys()) { for (suggestion: query_suggestions_response["Suggestions"]) { print(suggestion["Value"]["Text"]["Text"]); } } except ClientError as e: print("%s" % e) print("Program ends.")

Pour mettre à jour les suggestions de requêtes

Par exemple, pour modifier la fenêtre temporelle du journal des requêtes et le nombre minimum de fois qu'une requête doit être recherchée :

import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Updating query suggestions settings/configuration for an index.") # Provide the index ID index_id = "index-id" # Configure the settings you want to update minimum_query_count = 100 query_log_look_back_window_in_days = 30 try: kendra.update_query_suggestions_config( IndexId = index_id, MinimumQueryCount = minimum_query_count, QueryLogLookBackWindowInDays = query_log_look_back_window_in_days ) print("Wait for Amazon Kendra to update the query suggestions.") while True: # Get query suggestions description of settings/configuration query_sugg_config_response = kendra.describe_query_suggestions_config( IndexId = index_id ) # If status is not UPDATING, then quit status = query_sugg_config_response["Status"] print(" Updating query suggestions config. Status: " + status) if status != "UPDATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")

Suggestions claires tout en conservant l'historique des requêtes

Note

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

Vous pouvez effacer les suggestions de requêtes à l'aide du ClearQuerySuggestionsAPI. La suppression des suggestions supprime uniquement les suggestions de requêtes existantes, et non les requêtes de l'historique des requêtes. Lorsque vous effacez des suggestions, Amazon Kendra apprend les nouvelles suggestions en fonction des nouvelles requêtes ajoutées au journal des requêtes à partir du moment où vous avez effacé les suggestions.

CLI

Pour effacer les suggestions de requêtes

aws kendra clear-query-suggestions \ --index-id index-id
Python

Pour effacer les suggestions de requêtes

import boto3 from botocore.exceptions import ClientError kendra = boto3.client("kendra") print("Clearing out query suggestions for an index.") # Provide the index ID index_id = "index-id" try: kendra.clear_query_suggestions( IndexId = index_id ) # Confirm last cleared date-time and that there are no suggestions query_sugg_config_response = kendra.describe_query_suggestions_config( IndexId = index_id ) print("Query Suggestions last cleared at: " + str(query_sugg_config_response["LastClearTime"])); print("Number of suggestions available from the time of clearing: " + str(query_sugg_config_response["TotalSuggestionsCount"])); except ClientError as e: print("%s" % e) print("Program ends.")

Aucune suggestion disponible

Si aucune suggestion de requête ne s'affiche, cela peut être dû à l'une des raisons suivantes :

  • Votre index ne contient pas suffisamment de requêtes pour en Amazon Kendra tirer des leçons.

  • Vos paramètres de suggestions de requêtes sont trop stricts, de sorte que la plupart des requêtes sont exclues des suggestions.

  • Vous avez récemment effacé des suggestions et vous avez Amazon Kendra encore besoin de temps pour que les nouvelles requêtes s'accumulent afin de connaître de nouvelles suggestions.

Vous pouvez vérifier vos paramètres actuels à l'aide du DescribeQuerySuggestionsConfig API.

Suggestions de requêtes à l'aide de champs

Vous pouvez choisir de suggérer des requêtes pertinentes pour vos utilisateurs en fonction du contenu des champs du document. Au lieu d'utiliser l'historique des requêtes pour suggérer d'autres requêtes pertinentes populaires, vous pouvez utiliser les informations contenues dans un champ de document qui sont utiles pour compléter automatiquement la requête. Amazon Kendra recherche le contenu pertinent dans les champs définis sur Suggestable et correspondant étroitement à la requête de votre utilisateur. Amazon Kendra Suggère ensuite ce contenu à votre utilisateur lorsqu'il commence à taper sa requête.

Par exemple, si vous spécifiez le champ de titre sur lequel baser les suggestions et qu'un utilisateur commence à taper la requête « How amazon ken... », le titre le plus pertinent « Comment Amazon Kendra fonctionne » pourrait être suggéré pour compléter automatiquement la recherche. L'utilisateur voit « Comment Amazon Kendra fonctionne » apparaître directement sous sa barre de recherche, complétant automatiquement sa requête de recherche. L'utilisateur sélectionne cette suggestion de requête et le document « Comment Amazon Kendra fonctionne » apparaît dans les résultats de recherche.

Vous pouvez utiliser le contenu de n'importe quel champ String et StringList type de document pour suggérer une requête en définissant le champ sur dans le cadre de Suggestable la configuration de vos champs pour les suggestions de requêtes. Vous pouvez également utiliser une liste de blocage afin que les champs de document suggérés contenant certains mots ou expressions ne soient pas affichés à vos utilisateurs. Vous pouvez utiliser une seule liste de blocage. La liste de blocage s'applique, que vous définissiez des suggestions de requêtes pour utiliser l'historique des requêtes ou les champs du document.

Paramètres de sélection des champs pour les suggestions

Vous pouvez configurer les paramètres suivants pour sélectionner les champs du document pour les suggestions à l'aide de AttributeSuggestionsConfiget en appelant le UpdateQuerySuggestionsConfigAPIpour mettre à jour les paramètres au niveau de l'index :

  • Mode suggestions de champs/attributs : les suggestions de requêtes utilisant des champs de document sont soit, soit. ACTIVE INACTIVE Amazon Kendra active les suggestions de requêtes par défaut.

  • Champs/attributs suggestibles : noms de champs ou clés de champ sur lesquels baser les suggestions. Ces champs doivent être définis sur TRUE forSuggestable, dans le cadre de la configuration des champs. Vous pouvez modifier la configuration des champs au niveau de la requête tout en conservant la configuration au niveau de l'index. Utilisez le GetQuerySuggestionsAPIpour modifier AttributeSuggestionConfig au niveau de la requête. Cette configuration au niveau de la requête peut être utile pour expérimenter rapidement l'utilisation de différents champs de document sans avoir à mettre à jour la configuration au niveau de l'index.

  • Champs/attributs supplémentaires : champs supplémentaires que vous souhaitez inclure dans la réponse à une suggestion de requête. Ces champs sont utilisés pour fournir des informations supplémentaires dans la réponse ; toutefois, ils ne sont pas utilisés pour baser les suggestions.

Avertissement

Les modifications que vous avez apportées aux paramètres peuvent ne pas prendre effet immédiatement. Vous pouvez suivre les modifications des paramètres en utilisant le DescribeQuerySuggestionsConfigAPI. Le délai d'entrée en vigueur de vos paramètres mis à jour dépend des mises à jour que vous effectuez. Amazon Kendra met automatiquement à jour les suggestions toutes les 24 heures, après avoir modifié un paramètre ou après avoir appliqué une liste de blocage.

CLI

Pour récupérer des suggestions de requêtes et modifier la configuration des champs du document au niveau de la requête au lieu de modifier la configuration au niveau de l'index.

aws kendra get-query-suggestions \ --index-id index-id \ --query-text "query-text" \ --suggestion-types '["DOCUMENT_ATTRIBUTES"]' \ --attribute-suggestions-config '{"SuggestionAttributes":'["field/attribute key 1", "field/attribute key 2"]', "AdditionalResponseAttributes":'["response field/attribute key 1", "response field/attribute key 2"]'}' \ --max-suggestions-count 1 // If you want to limit the number of suggestions

Pour mettre à jour les suggestions de requêtes

Par exemple, pour modifier la configuration des champs du document au niveau de l'index :

aws kendra update-query-suggestions-config \ --index-id index-id \ --attribute-suggestions-config '{"SuggestableConfigList": '[{"SuggestableConfig": "_document_title", "Suggestable": true}]', "AttributeSuggestionsMode": "ACTIVE"}'
Python

Pour récupérer des suggestions de requêtes et modifier la configuration des champs du document au niveau de la requête au lieu de modifier la configuration au niveau de l'index.

import boto3 from botocore.exceptions import ClientError kendra = boto3.client("kendra") print("Get query suggestions.") # Provide the index ID index_id = "index-id" # Provide the query text query_text = "query" # Provide the query suggestions type query_suggestions_type = "DOCUMENT_ATTRIBUTES" # Override fields/attributes configuration at query level configuration = {"SuggestionAttributes": '["field/attribute key 1", "field/attribute key 2"]', "AdditionalResponseAttributes": '["response field/attribute key 1", "response field/attribute key 2"]' } # If you want to limit the number of suggestions num_suggestions = 1 try: query_suggestions_response = kendra.get_query_suggestions( IndexId = index_id, QueryText = query_text, SuggestionTypes = [query_suggestions_type], AttributeSuggestionsConfig = configuration, MaxSuggestionsCount = num_suggestions ) # Print out the suggestions you received if ("Suggestions" in query_suggestions_response.keys()) { for (suggestion: query_suggestions_response["Suggestions"]) { print(suggestion["Value"]["Text"]["Text"]); } } except ClientError as e: print("%s" % e) print("Program ends.")

Pour mettre à jour les suggestions de requêtes

Par exemple, pour modifier la configuration des champs du document au niveau de l'index :

import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Updating query suggestions settings/configuration for an index.") # Provide the index ID index_id = "index-id" # Configure the settings you want to update at the index level configuration = {"SuggestableConfigList": '[{"SuggestableConfig": "_document_title", "Suggestable": true}]', "AttributeSuggestionsMode": "ACTIVE" } try: kendra.update_query_suggestions_config( IndexId = index_id, AttributeSuggestionsConfig = configuration ) print("Wait for Amazon Kendra to update the query suggestions.") while True: # Get query suggestions description of settings/configuration query_sugg_config_response = kendra.describe_query_suggestions_config( IndexId = index_id ) # If status is not UPDATING, then quit status = query_sugg_config_response["Status"] print(" Updating query suggestions config. Status: " + status) if status != "UPDATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")

Contrôle par l'utilisateur dans les champs du document

Vous pouvez appliquer un filtrage contextuel utilisateur aux champs du document sur lesquels vous souhaitez baser les suggestions de requêtes. Cela filtre les informations des champs du document en fonction de l'accès de l'utilisateur ou de son groupe aux documents. Par exemple, un stagiaire effectue une recherche sur le portail de l'entreprise et n'a pas accès à un document top secret de l'entreprise. Par conséquent, les requêtes suggérées basées sur le titre du document top secret, ou sur tout autre champ suggestible, ne sont pas présentées au stagiaire.

Vous pouvez indexer vos documents à l'aide d'une liste de contrôle d'accès (ACL), qui définit quels utilisateurs et groupes sont autorisés à accéder à quels documents. Vous pouvez ensuite appliquer un filtrage contextuel utilisateur aux champs de vos documents pour les suggestions de requêtes. Le filtrage du contexte utilisateur actuellement défini pour votre index est le même que celui appliqué à la configuration des champs de votre document pour les suggestions de requêtes. Le filtrage du contexte utilisateur fait partie de la configuration des champs de votre document. Vous utilisez le AttributeSuggestionsGetConfiget appelez GetQuerySuggestions.

Empêcher les suggestions de certaines requêtes ou de certains contenus de champs de documents

Une liste de blocage Amazon Kendra empêche de suggérer certaines requêtes à vos utilisateurs. Une liste de blocage est une liste de mots ou d'expressions que vous souhaitez exclure des suggestions de requêtes. Amazon Kendra exclut les requêtes contenant une correspondance exacte avec les mots ou les phrases de la liste de blocage.

Vous pouvez utiliser une liste de blocage pour vous protéger contre les mots ou expressions offensants qui apparaissent fréquemment dans l'historique de vos requêtes ou dans les champs du document et qui Amazon Kendra pourraient être sélectionnés comme suggestions. Une liste de blocage peut également Amazon Kendra empêcher de suggérer des requêtes contenant des informations qui ne sont pas prêtes à être publiées ou annoncées. Par exemple, vos utilisateurs posent fréquemment des questions sur la sortie prochaine d'un nouveau produit potentiel. Toutefois, vous ne souhaitez pas suggérer le produit car vous n'êtes pas prêt à le lancer. Vous pouvez bloquer les requêtes contenant le nom du produit et des informations sur le produit dans les suggestions.

Vous pouvez créer une liste de blocage pour les requêtes à l'aide du CreateQuerySuggestionsBlockListAPI. Vous placez chaque mot ou phrase en bloc sur une ligne distincte d'un fichier texte. Ensuite, vous chargez le fichier texte dans votre compartiment Amazon S3 et vous indiquez le chemin ou l'emplacement du fichier Amazon S3. Amazon Kendra prend actuellement en charge la création d'une seule liste de blocage.

Vous pouvez remplacer le fichier texte contenant les mots et expressions bloqués dans votre Amazon S3 compartiment. Pour mettre à jour la liste de blocage dans Amazon Kendra, utilisez le UpdateQuerySuggestionsBlockList API.

Utilisation de la DescribeQuerySuggestionsBlockListAPIpour connaître le statut de votre liste de blocage. DescribeQuerySuggestionsBlockListpeut également vous fournir d'autres informations utiles, telles que les suivantes :

  • Quand votre liste de blocage a été mise à jour pour la dernière fois

  • Combien de mots ou d'expressions se trouvent dans votre liste de blocage actuelle

  • Messages d'erreur utiles lors de la création d'une liste de blocage

Vous pouvez également utiliser ListQuerySuggestionsBlockListsAPIpour obtenir une liste de résumés de listes de blocage pour un index.

Pour supprimer votre liste de blocage, utilisez le DeleteQuerySuggestionsBlockListAPI.

Les mises à jour de la liste de blocage risquent de ne pas prendre effet immédiatement. Vous pouvez suivre les mises à jour à l'aide du DescribeQuerySuggestionsBlockListAPI.

CLI

Pour créer une liste de blocage

aws kendra create-query-suggestions-block-list \ --index-id index-id \ --name "block-list-name" \ --description "block-list-description" \ --source-s3-path "Bucket=bucket-name,Key=query-suggestions/block_list.txt" \ --role-arn role-arn

Pour mettre à jour une liste de blocage

aws kendra update-query-suggestions-block-list \ --index-id index-id \ --name "new-block-list-name" \ --description "new-block-list-description" \ --source-s3-path "Bucket=bucket-name,Key=query-suggestions/new_block_list.txt" \ --role-arn role-arn

Pour supprimer une liste de blocage

aws kendra delete-query-suggestions-block-list \ --index-id index-id \ --id block-list-id
Python

Pour créer une liste de blocage

import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Create a query suggestions block list.") # Provide a name for the block list block_list_name = "block-list-name" # Provide an optional description for the block list block_list_description = "block-list-description" # Provide the IAM role ARN required for query suggestions block lists block_list_role_arn = "role-arn" # Provide the index ID index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "query-suggestions/block_list.txt" source_s3_path = { 'Bucket': s3_bucket_name, 'Key': s3_key } try: block_list_response = kendra.create_query_suggestions_block_list( Description = block_list_description, Name = block_list_name, RoleArn = block_list_role_arn, IndexId = index_id, SourceS3Path = source_s3_path ) print(block_list_response) block_list_id = block_list_response["Id"] print("Wait for Amazon Kendra to create the block list.") while True: # Get block list description block_list_description = kendra.describe_query_suggestions_block_list( Id = block_list_id, IndexId = index_id ) # If status is not CREATING, then quit status = block_list_description["Status"] print("Creating block list. Status: " + status) if status != "CREATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")

Pour mettre à jour une liste de blocage

import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Update a block list for query suggestions.") # Provide the block list name you want to update block_list_name = "new-block-list-name" # Provide the block list description you want to update block_list_description = "new-block-list-description" # Provide the IAM role ARN required for query suggestions block lists block_list_role_arn = "role-arn" # Provide the block list ID block_list_id = "block-list-id" # Provide the index ID index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "query-suggestions/new_block_list.txt" source_s3_path = { 'Bucket': s3_bucket_name, 'Key': s3_key } try: kendra.update_query_suggestions_block_list( Id = block_list_id, IndexId = index_id, Description = block_list_description, Name = block_list_name, RoleArn = block_list_role_arn, SourceS3Path = source_s3_path ) print("Wait for Amazon Kendra to update the block list.") while True: # Get block list description block_list_description = kendra.describe_query_suggestions_block_list( Id = block_list_id, IndexId = index_id ) # If status is not UPDATING, then the update has finished status = block_list_description["Status"] print("Updating block list. Status: " + status) if status != "UPDATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")

Pour supprimer une liste de blocage

import boto3 from botocore.exceptions import ClientError kendra = boto3.client("kendra") print("Delete a block list for query suggestions.") # provide the block list ID query_suggestions_block_list_id = "query-suggestions-block-list-id" # Provide the index ID index_id = "index-id" try: kendra.delete_query_suggestions_block_list( Id = query_suggestions_block_list_id, IndexId = index_id ) except ClientError as e: print("%s" % e) print("Program ends.")