「Amazon Kendraを使用した知的にDrupalコンテンツを検索する」
「アマゾン ケンドラを使って、ドルーパルのコンテンツをスマートに検索する方法」
Amazon Kendra(アマゾン ケンドラ)は、機械学習(ML)によって駆動されるインテリジェントな検索サービスです。Amazon Kendraは、さまざまなコンテンツリポジトリからコンテンツを簡単に集約し、中央のインデックスに統合することで、すばやく企業データ全体を検索し、最も正確な回答を見つけることができます。Drupal(ドルーパル)は、コンテンツ管理ソフトウェアです。私たちが毎日使用する多くのウェブサイトやアプリケーションを作成するために使用されています。Drupalは、簡単なコンテンツ作成、信頼性の高いパフォーマンス、セキュリティなど優れた機能セットを持っています。多くの組織が自分たちのコンテンツを格納するためにDrupalを使用しています。Drupalを使用する多くの顧客の重要な要件の1つは、データソース内のすべてのドキュメントで簡単かつ安全に正確な情報を見つける能力です。
Amazon Kendra Drupalコネクタを使用すると、Drupalコンテンツをインデックス化し、インデックスにインデックスするカスタムコンテンツのタイプをフィルタリングし、Amazon Kendraインテリジェント検索を使用してDrupalコンテンツを簡単に検索できます。
この投稿では、Amazon Kendra Drupalコネクタを使用して、コネクタをAmazon Kendraインデックスのデータソースとして設定し、Drupalドキュメントを検索する方法をご紹介します。Drupalコネクタの構成に基づいて、ブログやウィキなどのさまざまなタイプのDrupalコンテンツをクロールおよびインデックス化することができます。コネクタはまた、各ファイルのアクセス制御リスト(ACL)情報も取り込みます。ACL情報は、ユーザーがアクセス権を許可した内容で検索結果がフィルタリングされるユーザーコンテキストフィルタリングに使用されます。
前提条件
この投稿を参考にしてDrupal用のAmazon Kendraコネクタを試すために、次のものが必要です:
- 「Intuitivoは、AWS InferentiaとPyTorchを使用して、AI/MLのコストを節約しながら、より高いスループットを実現します」
- 「サンゴ礁の衰退を転換する:CUREEロボットが深海にディープラーニングでダイブする」
- AI「ブレイクスルー」:ニューラルネットが人間と同様の言語の一般化能力を持つ
- AWSアカウント(AWS Identity and Access Management(IAM)ロールとポリシーを作成するための特権を持つ)詳細については、「アクセス管理の概要:許可とポリシー」および「DrupalデータソースのIAMロール」を参照してください。
- AWSの基本知識とDrupalの管理に関する作業知識。
Administrator
ロールを持つユーザーが設定されたDrupal。管理者のユーザー名とパスワードをAWS Secrets Managerに保存します。
Drupal用のAmazon Kendraコネクタを使用してデータソースを構成する
Drupalコネクタを使用してAmazon Kendraインデックスにデータソースを追加するには、既存のインデックスを使用するか、新しいインデックスを作成できます。次に、次の手順を実行します。このトピックの詳細については、Amazon Kendra開発者ガイドを参照してください。
- Amazon Kendraコンソールで、インデックスを開き、ナビゲーションペインでデータソースを選択します。
- データソースを追加を選択します。
- Drupalの下で、コネクタを追加を選択します。
- データソースの詳細を指定セクションで、名前と説明を入力し、次へを選択します。
- アクセスとセキュリティを定義セクションで、DrupalホストURLにDrupalサイトのURLを入力します。
- SSL証明書を構成するには、
openssl x509 -in mydrupalsite.pem -out drupal.crt
コマンドを使用してこのセットアップ用の自己署名証明書を作成し、証明書をAmazon Simple Storage Service(Amazon S3)バケットに保存できます。プライベートキーと証明書の生成の詳細については、証明書の生成を参照してください。 - S3を参照し、SSL証明書を持つS3バケットを選択します。
- 認証の下で、次の2つのオプションがあります:
- Secrets Managerを使用して新しいDrupal認証資格情報を作成します。Drupalの管理者ユーザー名とパスワード(さらに、OAuth 2.0認証のクライアントIDとクライアントシークレット)が必要です。
- ConnectorがアクセスするDrupal認証資格情報を持つ既存のSecrets Managerシークレットを使用します(さらに、OAuth 2.0認証のクライアントIDとクライアントシークレットが必要です)。
- 保存してシークレットを追加を選択します。
- IAMロールの下で、Secrets Managerシークレット、Amazon Kendraインデックス、およびデータソースへの適切なIAMポリシーが構成された既存のIAMロールを選択するか、新しいロールを作成します。
必要なアクセス許可については、データソース用のIAMロールを参照してください。
- 次へを選択します。
- 同期設定の構成セクションで、Articles、Basic pages、Basic blocks、Custom content types、およびCustom Blocksを選択し、必要に応じてコメントと添付ファイルのクロールオプションも選択します。
- オプションでエンティティのタイトルに対する含める/除外するパターンを入力します。
- 同期スコープ(フルまたはデルタのみ)と実行スケジュールを指定します。
- 次へを選択します。
- フィールドマッピングの設定セクションで、同期するDrupalカスタムフィールドとそれに対応するAmazon Kendraフィールドマッピングを追加します。Amazon Kendraで必要なフィールドは事前にマッピングされています。
- 次へを選択します。
- 設定を確認し、データソースを保存します。
- 作成したデータソースで今すぐ同期を選択して、Amazon Kendraインデックスとのデータ同期を開始します。
Amazon Kendraへのコンテンツのクロールと同期には、コンテンツのボリュームとスループットによって所要時間が異なります。
インデックスされたDrupalコンテンツを、検索コンソールまたは検索アプリケーションで検索できます。 オプションで、以下の追加手順でACLを使用して検索することもできます。
- 作成したインデックスページに移動し、ユーザーアクセス制御タブで設定を編集を選択します。
- アクセス制御設定で、はいを選択し、ユーザー名とグループのデフォルト値を保持し、トークンタイプにはJSONを選択し、ユーザーグループの展開はなしとします。
- 次のページでは、デフォルト値を保持します(または容量要件に基づいて変更します)し、更新を選択します。
Amazon Kendraを使用してインテリジェントな検索を実行する
Amazon Kendraコンソールで検索を試す前に、データソースの同期が完了していることを確認してください。確認するには、データソースを表示し、最後の同期が成功したかを確認します。
- Amazon Kendraコンソールで検索を開始するには、ナビゲーションパネルでSearch indexed contentを選択します。
Amazon Kendra検索コンソールにリダイレクトされます。今、Amazon Kendraを使用してインデックス化したDrupalドキュメントから情報を検索することができます。
- この投稿では、Drupalデータソースに保存されたドキュメントを検索します。
- Test query with an access tokenを展開し、Apply tokenを選択します。
- UsernameにDrupalアカウントに関連付けられたメールアドレスを入力します。
- Applyを選択します。
ユーザーは、ユーザー名または指定されたグループに基づいてアクセス権限のあるコンテンツのみ表示されます。この例では、[email protected]
のメールアドレスを持つDrupalユーザーはDrupal上のドキュメントにアクセス権限がないため、表示されません。
制限事項
このソリューションを使用する際の以下の制限事項に注意してください:
- ビューに関連付けられていないコンテンツタイプ(記事や基本ページなど)はクロールできません。
- 管理者に特定のブロックへのアクセス権限がない場合、そのブロックからデータをクロールすることはできません。
- 記事、基本ページ、基本ブロック、ユーザー定義コンテンツタイプ、ユーザー定義ブロックタイプのドキュメント本文はHTML形式で表示されます。HTMLコンテンツが正しく記述されていない場合、HTML関連のタグがドキュメント本文に表示され、Amazon Kendraの検索結果で見ることができます。これは、記事のコメントや基本ページ、基本ブロック、ユーザー定義コンテンツタイプ、ユーザー定義ブロックタイプのコメントにも同様です。
- 説明または本文がないコンテンツタイプやブロックタイプは、Amazon Kendra SDK側の検証によりAmazon Kendraインデックスに挿入されません。ただし、Drupalでは説明や本文がないコンテンツタイプを作成することができます。該当のコンテンツタイプまたはブロックタイプのコメントと添付ファイルのみがAmazon Kendraインデックスに挿入されます(存在する場合)。
後片付け
将来のコストを発生させないために、このソリューションの一部として作成したリソースをクリーンアップしてください。このソリューションのテスト中に新しいAmazon Kendraインデックスを作成した場合は、削除します。Amazon Kendra Connector for Drupalを使用して新しいデータソースのみを追加した場合は、そのデータソースを削除します。作成されたIAMユーザーを削除します。
結論
Amazon Kendra Drupalコネクタを使用することで、組織はAmazon Kendraのパワフルなインテリジェント検索を活用してDrupalサイトに保存されたコンテンツを安全に検索できます。この記事では、統合について紹介しましたが、以下のようなさまざまな追加機能があります:
- 追加のフィールドをAmazon Kendraインデックス属性にマッピングし、フェーシング、検索、検索結果の表示を有効にできます。
- DrupalデータソースをAmazon Kendraのカスタムドキュメントエンリッチメント(CDE)機能と統合し、インジェスト中に追加の属性マッピングロジックやカスタムコンテンツ変換を実行することができます。
Drupalに関する可能性について詳しくは、Amazon Kendra開発者ガイドを参照してください。
人気のデータソース向けの他のAmazon Kendraの組み込みコネクタに関する詳細は、Amazon Kendraコネクタのページを参照してください。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles