Sugerencias para la búsqueda que - 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.

Sugerencias para la búsqueda que

Amazon Kendra Sugerencias parapuede ayudar a los usuarios a escribir sus consultas de búsqueda más rápido y guiar su búsqueda.

Amazon Kendrasugiere consultas relevantes para los usuarios en función de consultas populares del historial de consultas.Amazon Kendrautiliza todas las consultas que buscan los usuarios y aprende de ellas para hacer sugerencias a los usuarios.Amazon Kendrasugiere consultas populares a los usuarios cuando comienzan a escribir su consulta.Amazon Kendrasugiere una consulta siprefijoo los primeros caracteres de la consulta coinciden con lo que el usuario comienza a escribir como consulta.

Por ejemplo, un usuario comienza a escribir la consulta «próximos eventos».Amazon Kendraha aprendido del registro de consultas que muchos usuarios han buscado «próximos eventos 2050" muchas veces. El usuario ve que los 'próximos eventos 2050' aparecen directamente debajo de su barra de búsqueda, completando automáticamente su consulta de búsqueda. El usuario selecciona esta sugerencia de consulta eligiendo el primer resultado de búsqueda, que es el documento 'Próximos eventos: Qué pasará en 2050'.

Puede especificar cómoAmazon Kendraselecciona consultas aptas para sugerirlas a los usuarios. Por ejemplo, puede especificar que una sugerencia de consulta debe haber sido buscada por al menos 10 usuarios únicos (el valor predeterminado es 3), que se haya buscado en los últimos 30 días y que no contenga palabras ni frases de sulista de bloqueos.Amazon Kendrarequiere que una consulta tenga al menos un resultado de búsqueda y que contenga al menos una palabra de más de cuatro caracteres.

En las que se sugiere a las consultas que se sugiereAmazon Kendraconvierte el prefijo de consulta y la consulta sugerida a minúsculas, ignora todas las comillas simples y dobles y reemplaza varios caracteres de espacio en blanco por un solo espacio.Amazon Kendracoincide con todos los demás caracteres especiales tal como están.Amazon Kendrano muestra ninguna sugerencia si un usuario escribe menos de dos caracteres o más de 60 caracteres.

Puede recuperar sugerencias de consultas relevantes para sus usuarios mediante laGetQuerySuggestionsAPI. Las sugerencias de consultas están habilitadas de forma predeterminada sin costos adicionales. Puede deshabilitar las sugerencias de consultas en cualquier momento con laUpdateQuerySuggestionsConfigAPI. Puedes probar la configuración antes de aplicar sugerencias a tu aplicación de búsqueda de dos maneras:

  • Al usar elUpdateQuerySuggestionsConfigAPI.

  • En la consola deConfiguración que se sugiere.

Utilice elGetQuerySuggestionsAPI para integrar sugerencias de consultas con la aplicación de consola para que los usuarios comiencen a ver las sugerencias.

Configuración que se sugiere

Puede configurar las siguientes opciones de configuración mediante laUpdateQuerySuggestionsConfigAPI:

  • Moda— Las sugerencias de consultas sonENABLEDoLEARN_ONLY.Amazon Kendrapermite que se sugiere de consultas.LEARN_ONLYdesactiva las sugerencias de consultas. Si está desactivado,Amazon Kendrasigue aprendiendo sugerencias, pero no hace sugerencias de consultas a los usuarios.

  • Ventana de tiempo de registro de consultas— Qué tan recientes son sus consultas en la ventana de tiempo de registro de consultas. La ventana de tiempo es un valor entero para el número de días desde el día actual hasta los días anteriores.

  • Consultas sin información de usuario— Definir entruepara incluir todas las consultas o establecer enfalsepara incluir solo consultas con información de usuario.

  • Usuarios que se sugiere: el número mínimo de usuarios únicos que deben buscar una consulta para que la consulta sea apta para sugerirla a los usuarios. Este número es un valor entero.

  • Recuento de consultas: el número mínimo de veces que se debe buscar una consulta para que la consulta sea apta para sugerirla a los usuarios. Este número es un valor entero.

Esta configuración afecta a la forma en que se seleccionan las consultas como consultas populares para sugerirlas a los usuarios. La forma de ajustar la configuración dependerá de sus necesidades específicas, por ejemplo:

  • Si los usuarios suelen buscar una vez al mes de media, puede establecer el número de días en la ventana de tiempo de registro de consultas en 30, de modo que capture la mayoría de las consultas recientes de los usuarios antes de que queden obsoletas en la ventana de tiempo.

  • Si solo un pequeño número de consultas incluye información del usuario y no desea sugerir consultas basadas en un tamaño de muestra pequeño, puede configurar consultas para incluir a todos los usuarios.

  • Si defineconsultas popularescomo búsqueda por al menos 10 usuarios únicos y buscados por lo menos 100 veces, establece los usuarios únicos en 10 y el recuento de consultas en 100.

Es posible que los cambios en la configuración no surtan efecto de inmediato. Puede realizar un seguimiento de los cambios de configuración mediante laDescribeQuerySuggestionsConfigAPI. El tiempo que tarda en surtir efecto la configuración actualizada depende de las actualizaciones que realice y del número de consultas de búsqueda del índice.

Console

Para comprobar que las sugerencias de consultas están habilitadas y listas

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. En la páginaSugerencias parapágina, vaya aConfiguración que se sugierey haga lo siguiente:

    1. Compruebe que se sugiereEstadoesEnabled (Habilitado).

    2. Compruebe que el número deConsultas listas para sugerenciases más de 0.

Para editar la configuración de sugerencias de consultas

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. En la páginaSugerencias parapágina, vaya aConfiguración que se sugierey eligeEditar.

Eliminación que se sugiere

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. En la páginaSugerencias parapágina, vaya aConfiguración que se sugierey luego paraActions, eligeSugerencias sugeri.

CLI

Para recuperar sugerencias de consultas

aws kendra get-query-suggestions \ --index-id index-id \ --query-text "query-text" \ --max-suggestions-count 1 // If you want to limit the number of suggestions.

Para actualizar las sugerencias de consultas

Por ejemplo, para cambiar la ventana de tiempo del registro de consultas y el número mínimo de veces que se debe buscar una consulta:

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

El tiempo que tarda en surtir efecto la configuración actualizada depende de las actualizaciones que realice y del número de consultas de búsqueda de su índice.

Eliminación que se sugiere

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

Amazon Kendraaprende nuevas sugerencias en función de las nuevas consultas agregadas al registro de consultas desde la última vez que borró las sugerencias.

Python

Para recuperar sugerencias de consultas

import boto3 from botocore.exceptions import ClientError kendra = boto3.client("kendra") print("Get query suggestions.") # Provide the query text query_text = "query" # Provide the index ID index_id = "index-id" try: query_suggestions_response = kendra.get_query_suggestions( IndexId = index_id, QueryText = query_text, MaxSuggestionsCount = 5 ) # 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.")

Para actualizar las sugerencias de consultas,

Por ejemplo, para cambiar la ventana de tiempo del registro de consultas y el número mínimo de veces que se debe buscar una consulta:

import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Updating query suggestions settings/configuration for an index.") # Configure the settings you want to update query_log_look_back_window_in_days = 30 minimum_query_count = 100 thesaurus_role_arn = "role-arn" # Provide the index ID index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "thesaurus-file" source_s3_path = { 'Bucket': s3_bucket_name, 'Key': s3_key } try: kendra.update_query_suggestions_config( MinimumQueryCount = minimum_query_count, IndexId = index_id, 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.")

Eliminación que se sugiere

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 to use after clearing: " + str(query_sugg_config_response["TotalSuggestionsCount"])); except ClientError as e: print("%s" % e) print("Program ends.")

Puede comprobar la configuración actual de la con laDescribeQuerySuggestionsConfigAPI. Además, esta operación muestra la siguiente información sobre las sugerencias de consultas para un índice:

  • Moda— Las sugerencias de consultas sonENABLEDoLEARN_ONLY.Amazon Kendrapermite que se sugiere de consultas.LEARN_ONLYdesactiva las sugerencias de consultas. Puede cambiar el modo mediante laUpdateQuerySuggestionsConfigAPI. Si está desactivado,Amazon Kendrasigue aprendiendo sugerencias, pero no hace sugerencias de consultas a los usuarios.

  • Estado— Las sugerencias de consultas sonACTIVEoUPDATING.

  • Recuento sugeri— El número total de consultas listas para ser sugeridas a los usuarios. Si el conteo es mucho más bajo de lo esperado, podría deberse a queAmazon Kendranecesita más consultas de las que aprender o la configuración actual de sugerencias de consultas es demasiado estricta.

  • Sugerencias hora de última compilación— La última vez que se actualizaron las sugerencias.Amazon Kendraactualiza automáticamente las sugerencias cada 24 horas, cuando cambias una configuración o aplicas unlista de bloqueos.

  • Última hora de borrado de sugerencias— La última vez que se aprobaron las sugerencias.

Bloquear ciertas consultas de las sugerencias

UNAlista de bloqueosse sugiereAmazon Kendrasugerir ciertas consultas populares a los usuarios. Es una lista de palabras o frases que desea excluir de las sugerencias de consultas.Amazon Kendraexcluye las consultas que contienen una coincidencia exacta de las palabras o frases de la lista de bloqueo.

Puedes usar una lista de bloqueo para protegerte de palabras o frases ofensivas que suelen aparecer en tu registro de consultas y queAmazon Kendrapodría seleccionar como sugerencias. Una lista de bloqueo también puede evitarAmazon Kendrasugerir consultas populares que contienen información que no está lista para ser publicada o anunciada públicamente. Por ejemplo, si tus usuarios suelen realizar consultas sobre el lanzamiento de un producto nuevo que no quieres sugerir porque no estás listo para lanzarlo pronto, puedes bloquear las consultas que contienen el nombre del producto y la información del producto de las sugerencias.

Puede crear una lista de bloqueo para las consultas mediante laCreateQuerySuggestionsBlockListAPI. Puede colocar cada palabra o frase de bloque en una línea independiente de un archivo de texto. A continuación, cargue el archivo de texto en su bucket de S3 y proporcione la ruta o la ubicación del archivo enAmazon S3.Amazon Kendraactualmente solo admite la creación de una lista de bloqueo.

Puedes reemplazar el archivo de texto de las palabras y frases bloqueadas en tuAmazon S3y usa elUpdateQuerySuggestionsBlockListAPI para actualizar la lista de bloqueo enAmazon Kendra.

Puede utilizar elDescribeQuerySuggestionsBlockListAPI para obtener el estado de tu lista de bloqueados y otra información útil, como cuándo se actualizó por última vez tu lista de bloqueados, cuántas palabras o frases hay en tu lista de bloqueados actual y mensajes de error útiles al crear una lista de bloqueados. También puede utilizar laListQuerySuggestionsBlockListsAPI para obtener una lista de resúmenes de listas de bloqueo de un índice.

Para eliminar tu lista de bloqueados, usa laDeleteQuerySuggestionsBlockListAPI.

Es posible que las actualizaciones de la lista de bloqueados no surtan efecto de inmediato. Puede realizar un seguimiento de las actualizaciones mediante laDescribeQuerySuggestionsBlockListAPI.

Console

Para importar una lista de bloqueados

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. En la páginaSugerencias parapágina, vaya aLista de bloqueosy eligeImport list (Import.

  3. En el navegadorUbicación del archivo de lista de bloques en S3, introduzca la ubicación de su archivo de texto de lista de bloqueo en suAmazon S3bucket.

Para actualizar y volver a cargar una lista de bloqueados

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. Reemplace el archivo de texto de la lista de bloqueo enAmazon S3bucket con tu archivo actualizado.

  3. En la páginaSugerencias parapágina, vaya aLista de bloqueosy eligeReload (Volver a cargar).

Eliminación de una lista de bloqueo

  1. En el panel de navegación izquierdo, en, en.Índices, vaya a su índice y luego enEnriquecimientos, seleccioneSugerencias para.

  2. En la páginaSugerencias parapágina, vaya aLista de bloqueosy a continuación, elijaBorrar.

CLI

Para crear una lista de bloqueo

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

Para actualizar una lista de bloqueados

aws kendra update-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

Eliminación de una lista de bloqueo

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

Para crear una lista de bloqueo

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.")

Para actualizar una lista de bloqueados

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 = "block-list-name" # Provide the block list description you want to update 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 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/block_list_updated.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.")

Eliminación de una lista de bloqueo

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.")

Sugerencias sugeri

Puede borrar las sugerencias de consultas mediante laClearQuerySuggestionsAPI. Al borrar las sugerencias, solo se eliminan las sugerencias de consultas existentes, no las consultas del registro de consultas. Después de aclarar las sugerencias,Amazon Kendraaprende nuevas sugerencias en función de las nuevas consultas agregadas al registro de consultas desde el momento en que se eliminaron las sugerencias.

No hay que se sugiere

Si no ves sugerencias para una consulta, podría deberse a alguna de las razones siguientes:

  • No hay suficientes consultas en el índice paraAmazon Kendrade la que aprender.

  • La configuración de las sugerencias de consultas es demasiado estricta, por lo que la mayoría de las consultas se excluyen de las sugerencias.

  • Has borrado las sugerencias recientemente yAmazon Kendratodavía necesita tiempo para que se acumulen nuevas consultas para aprender nuevas sugerencias.

Puede comprobar la configuración actual de la con laDescribeQuerySuggestionsConfigAPI.