Menambahkan tesaurus ke indeks - Amazon Kendra

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menambahkan tesaurus ke indeks

Prosedur berikut menunjukkan cara menambahkan file tesaurus yang berisi sinonim indeks. Diperlukan waktu hingga 30 menit untuk melihat efek dari file tesaurus Anda yang diperbarui. Untuk informasi selengkapnya tentang file tesaurus, lihat Membuat file tesaurus.

Console
Untuk menambahkan tesaurus
  1. Di panel navigasi kiri, di bawah indeks tempat Anda ingin menambahkan daftar sinonim, tesaurus Anda, pilih Sinonim.

  2. Pada halaman Sinonim, pilih Tambahkan Thesaurus.

  3. Dalam Tentukan tesaurus, berikan nama tesaurus Anda dan deskripsi opsional.

  4. Dalam pengaturan Tesaurus, berikan Amazon S3 jalur ke file tesaurus Anda. File harus lebih kecil dari 5 MB.

  5. Untuk Peran IAM, pilih peran atau pilih Buat peran baru dan tentukan nama peran untuk membuat peran baru. Amazon Kendra menggunakan peran ini untuk mengakses Amazon S3 sumber daya atas nama Anda. Peran IAM memiliki awalan "AmazonKendra-”.

  6. Pilih Simpan untuk menyimpan konfigurasi dan menambahkan tesaurus. Setelah tesaurus diserap, ia aktif dan sinonim disorot dalam hasil. Diperlukan waktu hingga 30 menit untuk melihat efek file tesaurus Anda.

CLI

Untuk menambahkan thesarus ke indeks dengan AWS CLI, panggil: create-thesaurus

aws kendra create-thesaurus \ --index-id index-id \ --name "thesaurus-name" \ --description "thesaurus-description" \ --source-s3-path "Bucket=bucket-name,Key=thesaurus/synonyms.txt" \ --role-arn role-arn

Panggil list-thesauri untuk melihat daftar tesaurus:

aws kendra list-thesauri \ --index-id index-id

Untuk melihat detail tesaurus, panggil describe-thesaurus:

aws kendra describe-thesaurus \ --index-id index-id \ --index-id thesaurus-id

Diperlukan waktu hingga 30 menit untuk melihat efek file tesaurus Anda.

Python
import boto3 from botocore.exceptions import ClientError import pprint import time kendra = boto3.client("kendra") print("Create a thesaurus") thesaurus_name = "thesaurus-name" thesaurus_description = "thesaurus-description" thesaurus_role_arn = "role-arn" index_id = "index-id" s3_bucket_name = "bucket-name" s3_key = "thesaurus-file" source_s3_path= { 'Bucket': s3_bucket_name, 'Key': s3_key } try: thesaurus_response = kendra.create_thesaurus( Description = thesaurus_description, Name = thesaurus_name, RoleArn = thesaurus_role_arn, IndexId = index_id, SourceS3Path = source_s3_path ) pprint.pprint(thesaurus_response) thesaurus_id = thesaurus_response["Id"] print("Wait for Kendra to create the thesaurus.") while True: # Get thesaurus description thesaurus_description = kendra.describe_thesaurus( Id = thesaurus_id, IndexId = index_id ) # If status is not CREATING quit status = thesaurus_description["Status"] print("Creating thesaurus. Status: " + status) if status != "CREATING": break time.sleep(60) except ClientError as e: print("%s" % e) print("Program ends.")
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.CreateThesaurusRequest; import software.amazon.awssdk.services.kendra.model.CreateThesaurusResponse; import software.amazon.awssdk.services.kendra.model.DescribeThesaurusRequest; import software.amazon.awssdk.services.kendra.model.DescribeThesaurusResponse; import software.amazon.awssdk.services.kendra.model.S3Path; import software.amazon.awssdk.services.kendra.model.ThesaurusStatus; public class CreateThesaurusExample { public static void main(String[] args) throws InterruptedException { KendraClient kendra = KendraClient.builder().build(); String thesaurusName = "thesaurus-name"; String thesaurusDescription = "thesaurus-description"; String thesaurusRoleArn = "role-arn"; String s3BucketName = "bucket-name"; String s3Key = "thesaurus-file"; String indexId = "index-id"; System.out.println(String.format("Creating a thesaurus named %s", thesaurusName)); CreateThesaurusRequest createThesaurusRequest = CreateThesaurusRequest .builder() .name(thesaurusName) .indexId(indexId) .description(thesaurusDescription) .roleArn(thesaurusRoleArn) .sourceS3Path(S3Path.builder() .bucket(s3BucketName) .key(s3Key) .build()) .build(); CreateThesaurusResponse createThesaurusResponse = kendra.createThesaurus(createThesaurusRequest); System.out.println(String.format("Thesaurus response %s", createThesaurusResponse)); String thesaurusId = createThesaurusResponse.id(); System.out.println(String.format("Waiting until the thesaurus with ID %s is created.", thesaurusId)); while (true) { DescribeThesaurusRequest describeThesaurusRequest = DescribeThesaurusRequest.builder() .id(thesaurusId) .indexId(indexId) .build(); DescribeThesaurusResponse describeThesaurusResponse = kendra.describeThesaurus(describeThesaurusRequest); ThesaurusStatus status = describeThesaurusResponse.status(); if (status != ThesaurusStatus.CREATING) { break; } TimeUnit.SECONDS.sleep(60); } System.out.println("Thesaurus creation is complete."); } }