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.
Paso 4: Creación de un índice de Amazon Kendra e ingesta de los metadatos
Para implementar su solución de búsqueda inteligente, debe crear un índice de Amazon Kendra e incorporar en él los datos y metadatos de S3.
Antes de añadir metadatos a su índice de Amazon Kendra, debe crear campos de índice personalizados correspondientes a los atributos de los documentos personalizados, que a su vez corresponden a los tipos de entidad de Amazon Comprehend. Amazon Kendra utiliza los campos de índice y los atributos de documentos personalizados que cree para buscar y filtrar sus documentos.
Para obtener más información, consulte Indexación y Creación de atributos de documentos personalizados.
Temas
Creación de un índice de Amazon Kendra
Para consultar los documentos fuente, debe crear un índice de Amazon Kendra.
Si utiliza este paso, debe crear y adjuntar un rol y una política de AWS IAM que permitan a Amazon Kendra acceder a CloudWatch sus registros antes de crear un índice. AWS CLI Para más información, consulte Requisitos previos.
-
Abra la consola Amazon Kendra en. https://console.aws.amazon.com/kendra/
importante
Asegúrese de que se encuentra en la misma región en la que creó su trabajo de análisis de entidades de Amazon Comprehend y su bucket de Amazon S3. Si se encuentra en otra región, elija la AWS región en la que creó su bucket de Amazon S3 en el selector de regiones de la barra de navegación superior.
-
Elija Crear índice.
-
Para los Detalles del índice en la página Especificar detalles del índice, haga lo siguiente:
-
En Nombre de índice, ingrese el
kendra-index
. -
Mantenga el campo Descripción en blanco.
-
En Rol de IAM, elija Crear un nuevo rol. Este rol proporciona acceso a su bucket de Amazon S3.
-
En Nombre del rol, ingrese
kendra-role
. El rol de IAM tendrá el prefijoAmazonKendra-
. -
Mantenga la configuración predeterminada para el Cifrado y las etiquetas y seleccione Siguiente.
-
-
En Configuración del control de acceso en la página Configurar el control de acceso de los usuarios, elija No y, a continuación, Siguiente.
-
Para las Ediciones de aprovisionamiento en la página de Detalles de aprovisionamiento, elija Edición de desarrollador y seleccione Crear.
-
Para crear y adjuntar un rol de IAM para Amazon Kendra que lo reconozca como una entidad de confianza, haga lo siguiente:
-
Guarde la siguiente política de confianza como un archivo JSON llamado
kendra-trust-policy.json
en un editor de texto de su dispositivo local.{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "kendra.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Para crear un rol de IAM llamado
kendra-role
y adjuntarle el archivokendra-trust-policy.json
guardado, use el comando create-role: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo de forma local como
kendra-role-arn
.nota
El ARN tiene un formato similar a
arn:aws:iam::123456789012:role/kendra-role
. Necesita el ARN que guardó comokendra-role-arn
para ejecutar los trabajos de Amazon Kendra.
-
-
Antes de crear un índice, debe proporcionar su
kendra-role
permiso para escribir en Logs. CloudWatch Para ello, siga los pasos que se describen a continuación:-
Guarde la siguiente política de confianza como un archivo JSON llamado
kendra-cloudwatch-policy.json
en un editor de texto de su dispositivo local.{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"cloudwatch:PutMetricData", "Resource":"*", "Condition":{ "StringEquals":{ "cloudwatch:namespace":"Kendra" } } }, { "Effect":"Allow", "Action":"logs:DescribeLogGroups", "Resource":"*" }, { "Effect":"Allow", "Action":"logs:CreateLogGroup", "Resource":"arn:aws:logs:
aws-region
:aws-account-id
:log-group:/aws/kendra/*" }, { "Effect":"Allow", "Action":[ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource":"arn:aws:logs:aws-region
:aws-account-id
:log-group:/aws/kendra/*:log-stream:*" } ] }aws-region
Sustitúyalo por tu AWS región yaws-account-id
por tu ID de AWS cuenta de 12 dígitos. -
Para crear una política de IAM para acceder a los CloudWatch registros, usa el comando create-policy
: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo de forma local como
kendra-cloudwatch-arn
.nota
El ARN tiene un formato similar a
arn:aws:iam::123456789012:role/kendra-cloudwatch-policy
. Necesita el ARN que guardó comokendra-cloudwatch-arn
para asociar elkendra-cloudwatch-policy
a su rol de IAM. -
Para asociarlo
kendra-cloudwatch-policy
a su función de IAM, utilice el comando: attach-role-policy
-
-
Para crear un índice, utilice el comando create-index
: -
Copie el índice
Id
y guárdelo en un editor de texto comokendra-index-id
. ElId
ayuda a realizar el seguimiento del estado de creación del índice. -
Para realizar un seguimiento del progreso de su trabajo de creación de índices, utilice el comando describe-index
:
El proceso de creación del índice tarda una media de 15 minutos, pero puede tardar más. Cuando el estado del índice es activo, su índice está listo para ser utilizado. Mientras se crea el índice, puede iniciar el siguiente paso.
Si lo utiliza AWS CLI en este paso, debe crear y adjuntar una política de IAM a su rol de IAM de Amazon Kendra que otorgue a su índice permisos para acceder a su bucket de S3.
Actualización del rol de IAM para el acceso a Amazon S3
Mientras se crea el índice, usted actualiza su rol de IAM en Amazon Kendra para permitir que el índice que creó lea los datos de su bucket de Amazon S3. Para obtener más información, consulte Roles de IAM para Amazon Kendra.
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación izquierdo, elija Roles e introduzca
kendra-role
en el cuadro de búsqueda situado encima del nombre del rol. -
En las opciones sugeridas, haga clic en
kendra-role
. -
En Resumen, seleccione Asociar políticas.
-
En Adjuntar permisos, en el cuadro de búsqueda, introduce
S3
y selecciona la casilla situada junto a la ReadOnlyAccess política de Amazon S3 entre las opciones sugeridas. -
Elija Asociar política. En la página de resumen, ahora verá dos políticas asociadas al rol de IAM.
-
Regrese a la consola de Amazon Kendra en https://console.aws.amazon.com/kendra/
y espere a que el estado del índice cambie de Creating a Active antes de continuar con el siguiente paso.
-
Guarde el siguiente texto en un archivo JSON llamado
kendra-S3-access-policy.json
en un editor de texto en su dispositivo local.{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Effect":"Allow" }, { "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket" ], "Effect":"Allow" }, { "Effect":"Allow", "Action":[ "kendra:BatchPutDocument", "kendra:BatchDeleteDocument", "kendra:ListDataSourceSyncJobs" ], "Resource":[ "arn:aws:kendra:
aws-region
:aws-account-id
:index/kendra-index-id
" ] } ] }Sustituya amzn-s3-demo-bucket por el nombre de su bucket de S3, por su AWS región,
aws-account-id
por suaws-region
ID de cuenta de 12 AWS dígitos y por el guardado.kendra-index-id
kendra-index-id
-
Para crear una política de IAM para acceder a su bucket de S3, utilice el comando create-policy
: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo de forma local como
kendra-S3-access-arn
.nota
El ARN tiene un formato similar a
arn:aws:iam::123456789012:role/kendra-S3-access-policy
. Necesita el ARN que guardó comokendra-S3-access-arn
para asociar elkendra-S3-access-policy
a su rol de IAM. -
Para asociarlo
kendra-S3-access-policy
a su rol de IAM de Amazon Kendra, utilice el comando: attach-role-policy
Creación de campos de índice de búsqueda personalizados de Amazon Kendra
Para preparar a Amazon Kendra para que reconozca sus metadatos como atributos de documentos personalizados, debe crear campos personalizados correspondientes a los tipos de entidad de Amazon Comprehend. Puede introducir los siguientes nueve tipos de entidades de Amazon Comprehend como campos personalizados:
-
COMMERCIAL_ITEM
-
DATE
-
EVENT
-
UBICACIÓN
-
ORGANIZATION
-
OTHER
-
PERSON
-
QUANTITY
-
TITLE
importante
El índice no reconocerá los tipos de entidades mal escritos.
-
Abra la consola Amazon Kendra en. https://console.aws.amazon.com/kendra/
-
En la lista de índices, haga clic en
kendra-index
. -
En el panel de navegación izquierdo, en Administración de datos, elija Definición de faceta.
-
En el menú Campos de índice, seleccione Agregar campo.
-
En el cuadro de diálogo Agregar campo de índice, haga lo siguiente:
-
En el campo Nombre, escriba
COMMERCIAL_ITEM
. -
En Tipo de datos, elija Lista de cadenas.
-
En Tipos de uso, seleccione Facetable, Aparece en búsquedas y Visualizable y, a continuación, seleccione Agregar.
-
Repita los pasos a a c para cada tipo de entidad de Amazon Comprehend: COMMERCIAL_ITEM, DATE, EVENT, LOCATION, ORGANIZATION, OTHER, PERSON, QUANTITY, TITLE.
-
La consola muestra los mensajes de adición de campos realizados correctamente. Puede optar por cerrarlos antes de continuar con el siguiente paso.
-
Guarde el siguiente texto en un archivo JSON llamado
custom-attributes.json
en un editor de texto en su dispositivo local.[ { "Name": "COMMERCIAL_ITEM", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "DATE", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "EVENT", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "LOCATION", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "ORGANIZATION", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "OTHER", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "PERSON", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "QUANTITY", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } }, { "Name": "TITLE", "Type": "STRING_LIST_VALUE", "Search": { "Facetable": true, "Searchable": true, "Displayable": true } } ]
-
Para crear campos personalizados en el índice, use el comando update-index
: -
Para comprobar que los atributos personalizados se han añadido a su índice, utilice el comando describe-index
:
Agregar el bucket de Amazon S3 como origen de datos para el índice
Antes de poder sincronizar el índice, debe conectar el origen de datos de S3 a él.
-
Abra la consola Amazon Kendra en. https://console.aws.amazon.com/kendra/
-
En la lista de índices, haga clic en
kendra-index
. -
En el menú de navegación de la izquierda, en Administración de datos, seleccione Origen de datos.
-
En la sección Seleccione el tipo de conector de origen de datos, vaya a Amazon S3 y elija Agregar conector.
-
En la página Especificar detalles, haga lo siguiente:
-
En Nombre y descripción, para Nombre del origen de datos, introduzca
S3-data-source
. -
Mantenga la sección Descripción en blanco.
-
Mantenga la configuración predeterminada para Etiquetas.
-
Elija Next (Siguiente).
-
-
En la página Configurar los ajustes de sincronización, en la sección Ámbito de sincronización, haga lo siguiente:
-
En Introducir la ubicación del origen de datos, elija Examinar S3.
-
En Elegir recursos, seleccione su bucket de S3 y, a continuación, seleccione Elegir.
-
En la Ubicación de la carpeta de prefijos de los archivos de metadatos, elija Examinar S3.
-
En Elegir recursos, haga clic en el nombre de su bucket en la lista de buckets.
-
Para Objetos, seleccione la caja de opción para
metadata
y seleccione Elegir. El campo de ubicación ahora debería decirmetadata/
. -
Mantenga los ajustes predeterminados para la ubicación del archivo de configuración de la lista de control de acceso, la clave de descifrado seleccionada y la configuración adicional.
-
-
Para el rol de IAM, en la página Configurar los ajustes de sincronización, elija
kendra-role
. -
En la página Configurar los ajustes de sincronización, en Sincronizar programación de ejecución, para Frecuencia, selecciona Ejecutar bajo demanda y, a continuación, selecciona Siguiente.
-
En la página Revisar y crear, revise sus opciones para los detalles del origen de datos y seleccione Añadir origen de datos.
-
Guarde el siguiente texto en un archivo JSON llamado
S3-data-connector.json
en un editor de texto en su dispositivo local.{ "S3Configuration":{ "BucketName":"amzn-s3-demo-bucket", "DocumentsMetadataConfiguration":{ "S3Prefix":"metadata" } } }
Sustituya amzn-s3-demo-bucket por el nombre de su bucket S3.
-
Para conectar el bucket de S3 al índice, utilice el comando: create-data-source
-
Copie el conector
Id
y guárdelo en un editor de texto comoS3-connector-id
. ElId
le ayuda a rastrear el estado del proceso de conexión de datos. -
Para asegurarse de que la fuente de datos de S3 se conectó correctamente, utilice el describe-data-source
comando:
Al final de este paso, el origen de datos de Amazon S3 se conecta al índice.
Sincronización del índice de Amazon Kendra
Con el origen de datos de Amazon S3 añadido, ahora puede sincronizar su índice de Amazon Kendra con él.
-
Abra la consola Amazon Kendra en. https://console.aws.amazon.com/kendra/
-
En la lista de índices, haga clic en
kendra-index
. -
En el menú de navegación izquierdo, elija Origen de datos.
-
En Origen de datos, seleccione
S3-data-source
. -
En la barra de navegación superior, elija Sincronizar ahora.
-
Para sincronizar el índice, utilice el comando start-data-source-sync-job:
-
Para comprobar el estado de la sincronización del índice, utilice el comando list-data-source-sync-jobs:
Al final de este paso, ha creado un índice de Amazon Kendra que permite realizar búsquedas y filtrar para su conjunto de datos.