はじめに
Amazon Kendra は、様々なデータソースを横断的に検索できるエンタープライズ検索サービスです。Kendra から各種データソースに簡単に接続できるコネクタが提供されていて、Amazon S3, Microsoft SharePoint, Salesforce, ServiceNow, Google ドライブ, Confluence など連携できます。
今回の記事は、Kendra に WebCrawler というコネクタを使って、簡単に日本語の検索が出来る点を確認していきます。初めて Kendra を触ってみる点での備忘録的な記事です。
Index の作成
Kendra を利用し始める際に、Index の作成が必要です。Index を作成したタイミングから、時間課金で料金が発生します。検証のため Index を作成して放置してしまうと、想定外の料金が発生する可能性があります。検証が終わったら忘れずに削除しましょう。
Create index で作成をします。
適当に名前と IAM Role を指定して、Next を押します。
ドキュメントレベルの user access control はデフォルトのまま Next を押します。
今回は、Enterprise Edition でやってみます。検証目的の場合は Developer Edition を選択するのもアリです。
Index の作成処理が開始されます。約 30 分ほど待機します。
約 30 分後、Index が作成されました。
データソースの追加
Kendra にデータソースを追加することで、簡単に検索機能を提供できます。複数のデータソースを追加すると、横串検索が簡単に実現できます。
今回は WebCrawler connector を使って追加をしていきましょう。
適当にデータソース名を入れます。また、言語は Japanese を選択します。
WebCrawler connector は、URL を指定することで、公開されている情報を検索対象にできます。今回は、AWS Document の中から、RDS を指定してみましょう。
このあたりは何も入れないデフォルトの状態です。
Next を押します。
Crawl に関する動作を指定します。深さやドメインなどを指定します。
Crawl するスケジュールを指定できます。最短で一時間おきにデータの更新をしてくれるように定期実行できます。今回は Daily を指定してみます。
Create を押します。
Sync Now を押します。数分から数時間はかかるかもということなので、待機します。
一定時間後、Sync が完了したことがわかります。
- 521 個の Document が登録された
- 21 個は、エラーで登録できなかった。Favicon.ico や 大きい PDF ファイルの登録がエラーになっていた。
検索のテストを行う
Kendra の画面に、簡単に検索の動作確認が出来る画面が用意されています。メニューから Search indexed content を選択します。
デフォルトのままだと日本語の検索が出来ないので、右側のメニューから言語の設定をします。Japanese を選択します。
例えば、この検索テキストエリアに「パフォーマンス」を入力すると、登録した RDS の AWS Document の内容を検索できます。URL だけ指定することで、簡単に検索が利用できることがわかりました。
検索画面を SSO ユーザーに提供する Experiences を構成
Kendra の画面を直接利用するよりも、もう少し他のユーザーに検索画面を提供したい気持ちがでてきます。そういったときに、Experiences 機能が提供されています。IAM Identity Center (旧 AWS SSO) で管理されているユーザーに対して、簡単に検索画面を提供できます。Okta や Azure AD を利用している場合は、ユーザー連携してログインを提供できます。
Create experience を押します。
適当に名前を指定と、連携したいデータソースを指定します。
IAM Role を適当に指定します。
ログインを許可する IAM Identity Center 上のユーザーを指定します。ユーザーを指定します。
Create を押します。
一定時間後、Experience の URL が確認できます。
この URL を開くと、IAM Identity Center のログイン画面が開かれます。ユーザー名とパスワードを指定します。
表示されました。
日本語を検索するために、build mode で設定画面を開きます。
デフォルト言語を Japanese に変更します。
こんな感じで検索が出来ます。
検証を通じてわかったこと
- Kendra がサポートしているデータソースの一覧