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 ingerir los metadatos
Para implementar su solución de búsqueda inteligente, crea un índice de Amazon Kendra e ingiere sus datos y metadatos de S3 en él.
Antes de agregar metadatos al índice de Amazon Kendra, crea campos de índice personalizados correspondientes a los atributos de documento 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 documento personalizados que crea para buscar y filtrar los documentos.
Para obtener más información, consulteÍndiceyCreación de atributos de documento personalizados.
Temas
Creación de un índice de Amazon Kendra
Para consultar los documentos de origen, crea un índice de Amazon Kendra.
Si utiliza elAWS CLIen este paso, crea y adjunta unAWSPolítica y rol de IAM que permite a Amazon Kendra acceder a sus registros de CloudWatch antes de crear un índice. Para obtener más información, consulteRequisitos previos.
-
Abra la consola de Amazon Kendra enhttps://console.aws.amazon.com/kendra/
. importante Asegúrese de estar 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 laAWSregión en la que creó el bucket de Amazon S3 desde elSelector de regionesen la barra de navegación superior.
-
ElegirCrear un índice.
-
ParaDetalles de índiceen elEspecificar detalles de índicepágina, haga lo siguiente:
-
En Index name (Nombre de índice), ingrese el
kendra-index
. -
Mantenga lasDescripcióncampo en blanco.
-
En IAM Role (Rol de IAM), elija Create a New Role (Crear un nuevo rol). Este rol proporciona acceso a su bucket de Amazon S3.
-
En Role name (Nombre del rol), introduzca
kendra-role
. El rol de IAM tendrá el prefijoAmazonKendra-
. -
Mantener la configuración predeterminada paraCriptografíayEtiquetasy eligePróximo.
-
-
ParaConfiguración del control de accesoen elConfigurar el control de acceso de, elijaNoy luego enPróximo.
-
ParaEdiciones de aprovisionamientoen elDetalles de aprovisionamiento, elijaDeveloper editiony eligeCrear.
-
Para crear y adjuntar un rol de IAM para Amazon Kendra que lo reconozca como entidad de confianza, haga lo siguiente:
-
Guarde la siguiente política de confianza como archivo JSON denominado
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 denominado
kendra-role
y adjunta tu guardadokendra-trust-policy.json
archivo a él, use elcreate-rolecomando: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo localmente como
kendra-role-arn
.nota El ARN tiene un formato similar a
arn:aws:iam። 123456789012:role/kendra
. Necesita el ARN que guardó comokendra-role-arn
para ejecutar trabajos de Amazon Kendra.
-
-
Antes de crear un índice, debe proporcionar su
kendra-role
permiso para escribir en CloudWatch Logs. Para ello, siga los pasos que se describen a continuación:-
Guarde la siguiente política de confianza como archivo JSON denominado
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:*" } ] }Reemplazar
aws-region
con tusAWSregión yaws-account-id
con sus 12 dígitosAWSID de cuenta. -
Para crear una política de IAM para acceder a CloudWatch Logs, use lacreate-policy
comando: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo localmente como
kendra-cloudwatch-arn
.nota El ARN tiene un formato similar a
arn:aws:iam። 123456789012:role/kendra-cloudwatch-role/kendra-cloudwatch
. Necesita el ARN que guardó comokendra-cloudwatch-arn
para asociar elkendra-cloudwatch-policy
para su rol de IAM. -
Para asociar el
kendra-cloudwatch-policy
a su rol de IAM, utilice laattach-role-policycomando:
-
-
Para crear un índice, utilice lacrear índice
comando: -
Copiar el índice
Id
y guárdelo en un editor de texto comokendra-index-id
. LaId
le ayuda a realizar un seguimiento del estado de creación de su índice. -
Para realizar un seguimiento del progreso del trabajo de creación de índice, use ladescribe-index
comando:
El proceso de creación de índice tarda en promedio 15 minutos, pero puede tardar más. Cuando el estado del índice está activo, el índice está listo para usarse. Mientras se crea el índice, puede comenzar el siguiente paso.
Si utiliza elAWS CLIen este paso, crea y adjunta una política de IAM a su rol de IAM de Amazon Kendra que otorga a su índice permisos para acceder al bucket de S3.
Actualización del rol de IAM para el acceso a Amazon S3
Mientras se crea el índice, actualiza su rol de IAM de Amazon Kendra para permitir que el índice que creó lea datos de su depósito de Amazon S3. Para obtener más información, consulteRoles de acceso a IAM para Amazon Kendra.
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación izquierdo, elijaRoles dee introduzca
kendra-role
en laBúsquedacaja de arribaNombre del rol. -
En las opciones sugeridas, haz clic en
kendra-role
. -
EnResumen, eligeAdjuntar políticas.
-
EnAdjuntar permisos, en elBúsquedabox, introduzca
S3
y seleccione la casilla junto a laAmazonS3ReadOnlyAccesspolítica de las opciones sugeridas. -
Elija Asociar política. En la páginaResumen, verá dos políticas asociadas a la función de IAM.
-
Regrese a la consola de Amazon Kendra enhttps://console.aws.amazon.com/kendra/
y espera a que cambie el estado de tu índice deCrearaActivoantes de continuar con el siguiente paso.
-
Guarde el siguiente texto en un archivo JSON denominado
kendra-S3-access-policy.json
en un editor de texto de su dispositivo local.{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:GetObject" ], "Resource":[ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" ], "Effect":"Allow" }, { "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-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
" ] } ] }Reemplazar
DOC-EXAMPLE-BUCKET
con el nombre de bucket de S3,aws-region
con tusAWSregión,aws-account-id
con sus 12 dígitosAWSID de cuenta de ykendra-index id
con guardadoskendra-index-id
. -
Para crear una política de IAM para acceder a su bucket de S3, use lacreate-policy
comando: -
Copie el nombre de recurso de Amazon (ARN) en el editor de texto y guárdelo localmente como
kendra-S3-access-arn
.nota El ARN tiene un formato similar a
arn:aws:iam። 123456789012:role/Kendra-S3-Access-Role/Kendra-S3-Access-Policy
. Necesita el ARN que guardó comokendra-S3-access-arn
para asociar elkendra-S3-access-policy
para su rol de IAM. -
Para asociar el
kendra-S3-access-policy
a su rol de IAM de Amazon Kendra, utilice elattach-role-policycomando:
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 documento personalizados, cree campos personalizados correspondientes a los tipos de entidad de Amazon Comprehend. Introduce los nueve tipos de entidad Amazon Comprehend siguientes como campos personalizados:
-
COMMERCIAL_ITEM
-
FECHA
-
EVENT
-
LOCATION
-
ORGANIZACIÓN
-
OTHER
-
PERSON
-
QUANTITY
-
TITLE
El índice no reconocerá los tipos de entidad mal escritos.
-
Abra la consola de Amazon Kendra enhttps://console.aws.amazon.com/kendra/
. -
desde lasÍndiceslista, haga clic en
kendra-index
. -
En el panel de navegación izquierdo, debajo deAdministración de datos, eligeDefinición de facetas.
-
desde lasCampos de índicemenú, elijaAñadir campo.
-
En el navegadorAgregar campo de índice, haga lo siguiente:
-
EnNombre del campo, introduzca
COMMERCIAL_ITEM
. -
EnTipo de datos, eligeLista de cadenas.
-
EnTipos de uso, seleccioneFacetable,Se puede buscar, yVisualizabley, a continuación, elijaAñadir.
-
Repita los pasos a a c para cada tipo de entidad de Amazon Comprehend: COMMERCIAL_ITEM, FECHA, EVENTO, UBICACIÓN, ORGANIZACIÓN, OTRO, PERSONA, CANTIDAD, TÍTULO.
-
La consola muestra mensajes de adición de campos correctos. Puede optar por cerrarlos antes de continuar con el siguiente paso.
-
Guarde el siguiente texto en un archivo JSON denominado
custom-attributes.json
en un editor de texto de 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, utilice laíndice de actualización
comando: -
Para comprobar que los atributos personalizados se han agregado al índice, utilice ladescribe-index
comando:
Agregar el bucket de Amazon S3 como origen de datos para el índice
Para poder sincronizar el índice, debe conectar la fuente de datos de S3 a él.
-
Abra la consola de Amazon Kendra enhttps://console.aws.amazon.com/kendra/
. -
desde lasÍndiceslista, haga clic en
kendra-index
. -
En el menú de navegación izquierdo, enAdministración de datos, eligeOrígenes de datos.
-
En elSeleccione el tipo de conector de origen de datos, vaya aAmazon S3, y elijaAgregar un conector.
-
En el navegadorEspecificar detalles de origen de datospágina, haga lo siguiente:
-
UNDERNombre y descripción, paraNombre de origen de datos, introduzca
S3-data-source
. -
Mantenga lasDescripciónsección en blanco.
-
Mantenga la configuración predeterminada paraEtiquetas.
-
Elija Next( Siguiente).
-
-
En la páginaConfigurar ajustes de sincronización, en elSync scope, haga lo siguiente:
-
EnIntroduzca la ubicación del origen de datos, eligeExaminar S3.
-
EnElija los recursos, seleccione el bucket de S3 y, a continuación, elijaElegir.
-
EnUbicación de la carpeta de prefijos de archivos de metadatos, eligeExaminar S3.
-
EnElija los recursos, haga clic en el nombre del bucket de la lista de buckets.
-
ParaObjetos, seleccione el cuadro de opciones para
metadata
y eligeElegir. El campo de ubicación debería decir ahorametadata/
. -
Mantenga la configuración predeterminada paraUbicación del archivo de configuración de la lista de control,Seleccione clave de descifrado, yConfiguración adicional.
-
-
ParaRol de IAM, en elConfigurar ajustes de sincronización, elija
kendra-role
. -
En la páginaConfigurar ajustes de sincronizaciónpágina, enPrograma de ejecución de sincronización, paraFrecuencia, eligeEjecutar bajo demanday luego enPróximo.
-
En la páginaRevisar y crear, revise las opciones seleccionadas para los detalles de la fuente de datos y elijaAgregar origen de datos.
-
Guarde el siguiente texto en un archivo JSON denominado
S3-data-connector.json
en un editor de texto de su dispositivo local.{ "S3Configuration":{ "BucketName":"
DOC-EXAMPLE-BUCKET
", "DocumentsMetadataConfiguration":{ "S3Prefix":"metadata" } } }Reemplazar
DOC-EXAMPLE-BUCKET
con el nombre del bucket de S3. -
Para conectar el bucket de S3 al índice, utilice elcrear fuente de datos
comando: -
Copie el conector
Id
y guárdelo en un editor de texto comoS3-connector-id
. LaId
le ayuda a realizar un seguimiento del estado del proceso de conexión de datos. -
Para asegurarse de que la fuente de datos de S3 se haya conectado correctamente, utilice ladescribe-data-source
comando:
Al final de este paso, su fuente de datos de Amazon S3 está conectada al índice.
Sincronización del índice de Amazon Kendra
Con la fuente de datos de Amazon S3 añadida, ahora sincroniza su índice de Amazon Kendra con él.
-
Abra la consola de Amazon Kendra enhttps://console.aws.amazon.com/kendra/
. -
desde lasÍndiceslista, haga clic en
kendra-index
. -
En el menú de navegación izquierdo, elijaOrígenes de datos.
-
DesdeOrígenes de datos, seleccione
S3-data-source
. -
En la barra de navegación superior, elijaSincronización ahora.
-
Para sincronizar el índice, usa elstart-data-source-sync-job
comando: -
Para comprobar el estado de la sincronización del índice, use ellist-data-source-sync-jobs
comando:
Al final de este paso, ha creado un índice de Amazon Kendra con capacidad de búsqueda y filtrable para su conjunto de datos.