Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Um Ihre intelligente Suchlösung zu implementieren, erstellen Sie einen Amazon Kendra Kendra-Index und nehmen darin Ihre S3-Daten und Metadaten auf.
Bevor Sie Ihrem Amazon Kendra Kendra-Index Metadaten hinzufügen, erstellen Sie benutzerdefinierte Indexfelder, die benutzerdefinierten Dokumentattributen entsprechen, die wiederum den Amazon Comprehend Comprehend-Entitätstypen entsprechen. Amazon Kendra verwendet die Indexfelder und benutzerdefinierten Dokumentattribute, die Sie erstellen, um Ihre Dokumente zu suchen und zu filtern.
Weitere Informationen finden Sie unter Index und Erstellen von benutzerdefinierten Dokumentattributen.
Themen
Einen Amazon Kendra Kendra-Index erstellen
Um Ihre Quelldokumente abzufragen, erstellen Sie einen Amazon Kendra Kendra-Index.
Wenn Sie das AWS CLI in diesem Schritt verwenden, erstellen und fügen Sie eine AWS IAM-Rolle und -Richtlinie hinzu, die es Amazon Kendra ermöglichen, auf Ihre CloudWatch Protokolle zuzugreifen, bevor Sie einen Index erstellen. Weitere Informationen finden Sie unter Voraussetzungen.
-
Öffnen Sie die Amazon Kendra Kendra-Konsole unter https://console.aws.amazon.com/kendra/
. Wichtig
Stellen Sie sicher, dass Sie sich in derselben Region befinden, in der Sie Ihren Amazon Comprehend Comprehend-Entitätsanalysejob und Ihren Amazon S3 S3-Bucket erstellt haben. Wenn Sie sich in einer anderen Region befinden, wählen Sie in der AWS Regionsauswahl in der oberen Navigationsleiste die Region aus, in der Sie Ihren Amazon S3 S3-Bucket erstellt haben.
-
Wählen Sie Index erstellen.
-
Gehen Sie für Indexdetails auf der Seite „Indexdetails angeben“ wie folgt vor:
-
Geben Sie für Indexname
kendra-index
ein. -
Lassen Sie das Feld Beschreibung leer.
-
Wählen Sie für IAM Role (IAM-Rolle) die Option Create a New Role (Neue Rolle erstellen) aus. Diese Rolle bietet Zugriff auf Ihren Amazon S3 S3-Bucket.
-
Geben Sie für Rollenname den Namen
kendra-role
ein. Die IAM-Rolle wird das PräfixAmazonKendra-
haben. -
Behalten Sie die Standardeinstellungen für Verschlüsselung und Tags bei und wählen Sie Weiter.
-
-
Wählen Sie für Einstellungen zur Zugriffssteuerung auf der Seite Benutzerzugriffskontrolle konfigurieren die Option Nein und dann Weiter aus.
-
Wählen Sie für Provisioning-Editionen auf der Seite mit den Provisioning-Details die Option Developer Edition und anschließend Create aus.
-
Gehen Sie wie folgt vor, um eine IAM-Rolle für Amazon Kendra zu erstellen und anzuhängen, die diese Rolle als vertrauenswürdige Entität erkennt:
-
Speichern Sie die folgende Vertrauensrichtlinie als JSON-Datei, die
kendra-trust-policy.json
in einem Texteditor auf Ihrem lokalen Gerät aufgerufen wird.{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "kendra.amazonaws.com" }, "Action": "sts:AssumeRole" } }
-
Verwenden Sie den Befehl create-role
, um eine IAM-Rolle namens zu erstellen kendra-role
und Ihre gespeichertekendra-trust-policy.json
Datei an diese anzuhängen: -
Kopieren Sie den Amazon-Ressourcennamen (ARN) in Ihren Texteditor und speichern Sie ihn lokal unter
kendra-role-arn
.Anmerkung
Der ARN hat ein ähnliches Format wie
arn:aws:iam::123456789012:role/kendra-role
. Sie benötigen den ARN, unter dem Sie gespeichert habenkendra-role-arn
, um Amazon Kendra Kendra-Jobs auszuführen.
-
-
Bevor Sie einen Index erstellen, müssen Sie Ihre Erlaubnis
kendra-role
zum Schreiben in CloudWatch Logs erteilen. Führen Sie dazu die folgenden Schritte aus:-
Speichern Sie die folgende Vertrauensrichtlinie als JSON-Datei, die
kendra-cloudwatch-policy.json
in einem Texteditor auf Ihrem lokalen Gerät aufgerufen wird.{ "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
Ersetzen Sie es durch Ihre AWS Region undaws-account-id
durch Ihre 12-stellige AWS Konto-ID. -
Verwenden Sie den Befehl create-policy, um eine IAM-Richtlinie für den Zugriff auf CloudWatch Logs zu erstellen
: -
Kopieren Sie den Amazon-Ressourcennamen (ARN) in Ihren Texteditor und speichern Sie ihn lokal unter
kendra-cloudwatch-arn
.Anmerkung
Der ARN hat ein ähnliches Format wie
arn:aws:iam::123456789012:role/kendra-cloudwatch-policy
. Sie benötigen den ARN, unter dem Sie gespeichert habenkendra-cloudwatch-arn
, um ihn ankendra-cloudwatch-policy
Ihre IAM-Rolle anzuhängen. -
Verwenden Sie den folgenden Befehl
kendra-cloudwatch-policy
, um das an Ihre IAM-Rolle anzuhängen: attach-role-policy
-
-
Verwenden Sie den Befehl create-index, um einen Index
zu erstellen: -
Kopieren Sie den Index
Id
und speichern Sie ihn in einem Texteditor alskendra-index-id
. DasId
hilft Ihnen, den Status Ihrer Indexerstellung zu verfolgen. -
Verwenden Sie den Befehl describe-index
, um den Fortschritt Ihrer Indexerstellung zu verfolgen:
Die Indexerstellung dauert im Durchschnitt 15 Minuten, kann aber auch länger dauern. Wenn der Status des Indexes aktiv ist, ist Ihr Index einsatzbereit. Während Ihr Index erstellt wird, können Sie mit dem nächsten Schritt beginnen.
Wenn Sie das AWS CLI in diesem Schritt verwenden, erstellen Sie eine IAM-Richtlinie und fügen sie Ihrer Amazon Kendra IAM-Rolle hinzu, die Ihrem Index Berechtigungen für den Zugriff auf Ihren S3-Bucket gewährt.
Aktualisierung der IAM-Rolle für den Amazon S3 S3-Zugriff
Während der Indexerstellung aktualisieren Sie Ihre Amazon Kendra IAM-Rolle, sodass der von Ihnen erstellte Index Daten aus Ihrem Amazon S3 S3-Bucket lesen kann. Weitere Informationen finden Sie unter IAM-Zugriffsrollen für Amazon Kendra.
Öffnen Sie unter https://console.aws.amazon.com/iam/
die IAM-Konsole. -
Wählen Sie im linken Navigationsbereich Rollen aus und geben Sie den Namen der Rolle
kendra-role
in das Suchfeld über dem Namen der Rolle ein. -
Klicken Sie in den vorgeschlagenen Optionen auf
kendra-role
. -
Wählen Sie unter Zusammenfassung die Option Richtlinien anhängen aus.
-
Geben Sie unter Berechtigungen anhängen in das Suchfeld das Kontrollkästchen neben der ReadOnlyAccessAmazonS3-Richtlinie ein
S3
und aktivieren Sie es aus den vorgeschlagenen Optionen. -
Wählen Sie Richtlinie anfügen aus. Auf der Übersichtsseite sehen Sie nun zwei Richtlinien, die mit der IAM-Rolle verknüpft sind.
-
Kehren Sie zur Amazon Kendra Kendra-Konsole unter zurück https://console.aws.amazon.com/kendra/
und warten Sie, bis sich der Status Ihres Indexes von Creating auf Active ändert, bevor Sie mit dem nächsten Schritt fortfahren.
-
Speichern Sie den folgenden Text in einer JSON-Datei, die
kendra-S3-access-policy.json
in einem Texteditor auf Ihrem lokalen Gerät aufgerufen wird.{ "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
" ] } ] }Ersetzen Sie amzn-s3-demo-bucket durch Ihren S3-Bucket-Namen, durch Ihre AWS Region,
aws-region
durch Ihre 12-stellige Konto-ID undaws-account-id
durch Ihre gespeicherte AWS .kendra-index-id
kendra-index-id
-
-
Kopieren Sie den Amazon-Ressourcennamen (ARN) in Ihren Texteditor und speichern Sie ihn lokal unter
kendra-S3-access-arn
.Anmerkung
Der ARN hat ein ähnliches Format wie
arn:aws:iam::123456789012:role/kendra-S3-access-policy
. Sie benötigen den ARN, unter dem Sie gespeichert habenkendra-S3-access-arn
, um ihn ankendra-S3-access-policy
Ihre IAM-Rolle anzuhängen. -
Um die IAM-Rolle
kendra-S3-access-policy
an Ihre Amazon Kendra IAM-Rolle anzuhängen, verwenden Sie den attach-role-policyfolgenden Befehl:
Benutzerdefinierte Suchindexfelder für Amazon Kendra erstellen
Um Amazon Kendra darauf vorzubereiten, Ihre Metadaten als benutzerdefinierte Dokumentattribute zu erkennen, erstellen Sie benutzerdefinierte Felder, die den Entitätstypen von Amazon Comprehend entsprechen. Sie geben die folgenden neun Amazon Comprehend Comprehend-Entitätstypen als benutzerdefinierte Felder ein:
-
COMMERCIAL_ITEM
-
DATUM
-
EREIGNIS
-
LOCATION
-
ORGANISATION
-
OTHER
-
PERSON
-
MENGE
-
TITLE
Wichtig
Falsch geschriebene Entitätstypen werden vom Index nicht erkannt.
-
Öffnen Sie die Amazon Kendra Kendra-Konsole unter https://console.aws.amazon.com/kendra/
. -
Klicken Sie in der Liste der Indizes auf.
kendra-index
-
Wählen Sie im linken Navigationsbereich unter Datenverwaltung die Option Facettendefinition aus.
-
Wählen Sie im Menü Indexfelder die Option Feld hinzufügen aus.
-
Gehen Sie im Dialogfeld Indexfeld hinzufügen wie folgt vor:
-
Geben Sie im Feld Feldname den Wert ein
COMMERCIAL_ITEM
. -
Wählen Sie im Feld Datentyp die Option Zeichenkettenliste aus.
-
Wählen Sie unter Verwendungstypen die Optionen Facetable, Durchsuchbar und Displayable aus und wählen Sie dann Hinzufügen aus.
-
Wiederholen Sie die Schritte a bis c für jeden Amazon Comprehend Comprehend-Entitätstyp: COMMERCIAL_ITEM, DATE, EVENT, LOCATION, ORGANIZATION, OTHER, PERSON, QUANTITY, TITLE.
-
Die Konsole zeigt Meldungen über das erfolgreiche Hinzufügen von Feldern an. Sie können sich dafür entscheiden, sie zu schließen, bevor Sie mit dem nächsten Schritt fortfahren.
-
Speichern Sie den folgenden Text als JSON-Datei, die
custom-attributes.json
in einem Texteditor auf Ihrem lokalen Gerät aufgerufen wird.[ { "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 } } ]
-
Verwenden Sie den Befehl update-index, um benutzerdefinierte Felder in Ihrem Index
zu erstellen: -
Verwenden Sie den Befehl describe-index, um zu überprüfen, ob die benutzerdefinierten Attribute zu Ihrem Index
hinzugefügt wurden:
Hinzufügen des Amazon S3 S3-Buckets als Datenquelle für den Index
Bevor Sie Ihren Index synchronisieren können, müssen Sie Ihre S3-Datenquelle damit verbinden.
-
Öffnen Sie die Amazon Kendra Kendra-Konsole unter https://console.aws.amazon.com/kendra/
. -
Klicken Sie in der Liste der Indizes auf.
kendra-index
-
Wählen Sie im linken Navigationsmenü unter Datenverwaltung die Option Datenquellen aus.
-
Navigieren Sie im Abschnitt Datenquellen-Connectortyp auswählen zu Amazon S3 und wählen Sie Connector hinzufügen aus.
-
Gehen Sie auf der Seite „Datenquellendetails angeben“ wie folgt vor:
-
Geben Sie unter Name und Beschreibung für Datenquellenname den Wert ein
S3-data-source
. -
Lassen Sie den Abschnitt Beschreibung leer.
-
Behalten Sie die Standardeinstellungen für Tags bei.
-
Wählen Sie Weiter.
-
-
Gehen Sie auf der Seite Synchronisierungseinstellungen konfigurieren im Abschnitt Synchronisierungsbereich wie folgt vor:
-
Wählen Sie unter Geben Sie den Speicherort der Datenquelle ein die Option S3 durchsuchen aus.
-
Wählen Sie unter Ressourcen auswählen Ihren S3-Bucket aus und wählen Sie dann Wählen aus.
-
Wählen Sie unter Speicherort des Präfixordners für Metadatendateien die Option S3 durchsuchen aus.
-
Klicken Sie unter Ressourcen auswählen in der Liste der Buckets auf den Namen Ihres Buckets.
-
Wählen Sie für Objekte das Optionsfeld für
metadata
und wählen Sie Wählen aus. Das Ortsfeld sollte jetzt lautenmetadata/
. -
Behalten Sie die Standardeinstellungen für den Speicherort der Konfigurationsdatei für die Zugriffskontrollliste, den Entschlüsselungsschlüssel auswählen und die Option Zusätzliche Konfiguration bei.
-
-
Wählen Sie für die IAM-Rolle auf der Seite Synchronisierungseinstellungen konfigurieren die Option.
kendra-role
-
Wählen Sie auf der Seite Synchronisierungseinstellungen konfigurieren unter Zeitplan für die Synchronisierungsausführung für Häufigkeit die Option Bei Bedarf ausführen und dann Weiter aus.
-
Überprüfen Sie auf der Seite Überprüfen und erstellen Ihre Auswahl für die Datenquellendetails und wählen Sie Datenquelle hinzufügen aus.
-
Speichern Sie den folgenden Text als JSON-Datei, die
S3-data-connector.json
in einem Texteditor auf Ihrem lokalen Gerät aufgerufen wird.{ "S3Configuration":{ "BucketName":"amzn-s3-demo-bucket", "DocumentsMetadataConfiguration":{ "S3Prefix":"metadata" } } }
Ersetzen Sie amzn-s3-demo-bucket durch den Namen Ihres S3-Buckets.
-
Verwenden Sie den folgenden Befehl, um Ihren S3-Bucket mit Ihrem Index zu verbinden: create-data-source
-
Kopieren Sie den Connector
Id
und speichern Sie ihn in einem Texteditor alsS3-connector-id
. DasId
hilft Ihnen, den Status des Datenverbindungsprozesses zu verfolgen. -
Verwenden Sie den describe-data-source
folgenden Befehl, um sicherzustellen, dass Ihre S3-Datenquelle erfolgreich verbunden wurde:
Am Ende dieses Schritts ist Ihre Amazon S3 S3-Datenquelle mit dem Index verbunden.
Synchronisieren des Amazon Kendra Kendra-Index
Nachdem die Amazon S3 S3-Datenquelle hinzugefügt wurde, synchronisieren Sie jetzt Ihren Amazon Kendra Kendra-Index damit.
-
Öffnen Sie die Amazon Kendra Kendra-Konsole unter https://console.aws.amazon.com/kendra/
. -
Klicken Sie in der Liste der Indizes auf.
kendra-index
-
Wählen Sie im linken Navigationsmenü die Option Datenquellen aus.
-
Wählen Sie unter Datenquellen die Option aus
S3-data-source
. -
Wählen Sie in der oberen Navigationsleiste die Option Jetzt synchronisieren aus.
-
Verwenden Sie den Befehl start-data-source-sync-job
, um Ihren Index zu synchronisieren: -
Verwenden Sie den Befehl list-data-source-sync-jobs
, um den Status der Indexsynchronisierung zu überprüfen:
Am Ende dieses Schritts haben Sie einen durchsuchbaren und filterbaren Amazon Kendra Kendra-Index für Ihren Datensatz erstellt.