「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コネクタを試すために、次のものが必要です:

Drupal用のAmazon Kendraコネクタを使用してデータソースを構成する

Drupalコネクタを使用してAmazon Kendraインデックスにデータソースを追加するには、既存のインデックスを使用するか、新しいインデックスを作成できます。次に、次の手順を実行します。このトピックの詳細については、Amazon Kendra開発者ガイドを参照してください。

  1. Amazon Kendraコンソールで、インデックスを開き、ナビゲーションペインでデータソースを選択します。
  2. データソースを追加を選択します。
  3. Drupalの下で、コネクタを追加を選択します。
  4. データソースの詳細を指定セクションで、名前と説明を入力し、次へを選択します。
  5. アクセスとセキュリティを定義セクションで、DrupalホストURLにDrupalサイトのURLを入力します。
  6. SSL証明書を構成するには、openssl x509 -in mydrupalsite.pem -out drupal.crtコマンドを使用してこのセットアップ用の自己署名証明書を作成し、証明書をAmazon Simple Storage Service(Amazon S3)バケットに保存できます。プライベートキーと証明書の生成の詳細については、証明書の生成を参照してください。
  7. S3を参照し、SSL証明書を持つS3バケットを選択します。
  8. 認証の下で、次の2つのオプションがあります:
    • Secrets Managerを使用して新しいDrupal認証資格情報を作成します。Drupalの管理者ユーザー名とパスワード(さらに、OAuth 2.0認証のクライアントIDとクライアントシークレット)が必要です。
    • ConnectorがアクセスするDrupal認証資格情報を持つ既存のSecrets Managerシークレットを使用します(さらに、OAuth 2.0認証のクライアントIDとクライアントシークレットが必要です)。
  9. 保存してシークレットを追加を選択します。
  10. IAMロールの下で、Secrets Managerシークレット、Amazon Kendraインデックス、およびデータソースへの適切なIAMポリシーが構成された既存のIAMロールを選択するか、新しいロールを作成します。

必要なアクセス許可については、データソース用のIAMロールを参照してください。

  1. 次へを選択します。
  2. 同期設定の構成セクションで、ArticlesBasic pagesBasic blocksCustom content types、およびCustom Blocksを選択し、必要に応じてコメントと添付ファイルのクロールオプションも選択します。
  3. オプションでエンティティのタイトルに対する含める/除外するパターンを入力します。
  4. 同期スコープ(フルまたはデルタのみ)と実行スケジュールを指定します。
  5. 次へを選択します。
  6. フィールドマッピングの設定セクションで、同期するDrupalカスタムフィールドとそれに対応するAmazon Kendraフィールドマッピングを追加します。Amazon Kendraで必要なフィールドは事前にマッピングされています。
  7. 次へを選択します。
  8. 設定を確認し、データソースを保存します。
  9. 作成したデータソースで今すぐ同期を選択して、Amazon Kendraインデックスとのデータ同期を開始します。

Amazon Kendraへのコンテンツのクロールと同期には、コンテンツのボリュームとスループットによって所要時間が異なります。

インデックスされたDrupalコンテンツを、検索コンソールまたは検索アプリケーションで検索できます。 オプションで、以下の追加手順でACLを使用して検索することもできます。

  1. 作成したインデックスページに移動し、ユーザーアクセス制御タブで設定を編集を選択します。
  2. アクセス制御設定で、はいを選択し、ユーザー名グループのデフォルト値を保持し、トークンタイプにはJSONを選択し、ユーザーグループの展開はなしとします。
  3. 次のページでは、デフォルト値を保持します(または容量要件に基づいて変更します)し、更新を選択します。

Amazon Kendraを使用してインテリジェントな検索を実行する

Amazon Kendraコンソールで検索を試す前に、データソースの同期が完了していることを確認してください。確認するには、データソースを表示し、最後の同期が成功したかを確認します。

  1. Amazon Kendraコンソールで検索を開始するには、ナビゲーションパネルでSearch indexed contentを選択します。

Amazon Kendra検索コンソールにリダイレクトされます。今、Amazon Kendraを使用してインデックス化したDrupalドキュメントから情報を検索することができます。

  1. この投稿では、Drupalデータソースに保存されたドキュメントを検索します。
  2. Test query with an access tokenを展開し、Apply tokenを選択します。
  3. UsernameにDrupalアカウントに関連付けられたメールアドレスを入力します。
  4. 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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI研究

CMUの研究者がMultiModal Graph Learning(MMGL)を導入「複数の多様な隣接情報から関係構造を持つ情報を抽出するための新たなAIフレームワーク」としています

多モーダルグラフ学習は、機械学習、グラフ理論、およびデータフュージョンの概念を組み合わせた多様なデータソースとその相...

データサイエンス

『日常のデザイン(AI)』

ドン・ノーマンの1988年のデザインの古典である『デザインの心理学』は、以来、優れたハードウェアとソフトウェアの設計に影...

機械学習

GPT-4の主な6つの利用事例

GPT-4の画期的な応用を、コンテンツ制作から医療に至るまで、さまざまな業界で探求してください6つのユースケースでAIの変革...

機械学習

自動化、Ansible、人工知能

AnsibleがAIツールを統合開発環境に導入し、自動化コーディングの経験をよりシンプルでスムーズかつ効率的にする方法について...

データサイエンス

レコメンダーシステムにおけるPrecision@NとRecall@Nの解説

Accuracy Metrics(正解率指標)は、機械学習の全体的なパフォーマンスを評価するための有用な指標であり、データセット内の...

AI研究

スタンフォード大学の新しい人工知能研究は、説明が意思決定時のAIシステムへの過度の依存を軽減する方法を示しています

近年の人工知能(AI)のブームは、AIの能力によって仕事がより速く、より少ない労力で行われることによって、人間の生活がど...