インテリジェント検索 - Amazon Kendra で社内ナレッジを横断検索する
Amazon Kendra を使ったエンタープライズ検索の構築を解説。自然言語クエリ、データソースコネクタ、RAG (検索拡張生成) との統合、OpenSearch との使い分けを紹介します。
エンタープライズ検索の課題と Kendra の位置づけ
企業内のナレッジは S3、SharePoint、Confluence、社内 Wiki、FAQ サイト、データベースなど多数のシステムに分散しています。従来のキーワード検索では、ユーザーが適切な検索語を知っている必要があり、「有給休暇の申請方法は?」のような自然言語の質問には対応できません。Amazon Kendra は ML ベースのインテリジェント検索サービスで、自然言語の質問を理解し、文書から直接回答を抽出して返します。たとえば「新入社員の健康診断はいつまでに受ける必要がありますか」という質問に対し、社内規定の PDF から該当箇所を特定して回答を提示します。OpenSearch (Elasticsearch ベース) が転置インデックスによるキーワードマッチングと集計・分析に強みを持つのに対し、Kendra は自然言語理解 (NLU) と機械学習による意味的な検索に特化しています。技術者がログ分析やメトリクス検索に使う OpenSearch と、非エンジニアのビジネスユーザーが社内ナレッジを検索する Kendra は、補完的な関係にあります。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
データソースコネクタとインデックス構築
Kendra は 40 以上のデータソースコネクタを標準提供しており、主要なデータソースとの接続がノーコードで完了します。S3 (PDF、Word、HTML、テキスト)、RDS/Aurora (データベースのテキストカラム)、SharePoint Online、Confluence、Salesforce、ServiceNow、Google Drive、OneDrive、Slack、GitHub などに対応しています。カスタムコネクタ API を使えば、独自のデータソースも統合できます。データソースの同期はスケジュール設定 (毎時、毎日、毎週) で自動実行され、新規・更新・削除された文書がインデックスに反映されます。ACL (アクセス制御リスト) をデータソースから自動取得する機能により、SharePoint や Confluence のアクセス権限がそのまま Kendra の検索結果に反映されます。ユーザー A が閲覧権限を持たない文書は、検索結果に表示されません。この透過的なアクセス制御は、セキュリティ要件の厳しいエンタープライズ環境で重要な機能です。
検索機能と RAG 統合
Kendra の検索結果は 3 つのタイプで返されます。Suggested Answer は文書から抽出した直接的な回答で、該当箇所がハイライト表示されます。FAQ Answer は事前登録した FAQ データベースからの回答です。Document は関連度の高い文書のリストで、従来の検索結果に相当します。検索のチューニングでは、フィールドのブースト (特定のメタデータフィールドの重み付け)、ファセット検索 (カテゴリ、日付、著者でのフィルタリング)、同義語辞書 (シソーラス) の登録が可能です。Kendra は Bedrock の RAG (Retrieval-Augmented Generation) パターンにおけるリトリーバーとして活用できます。ユーザーの質問に対して Kendra が関連文書を検索し、その文書をコンテキストとして Bedrock の LLM に渡すことで、社内ナレッジに基づいた正確な回答を生成できます。Kendra の高精度な検索結果が RAG の回答品質を直接的に向上させます。
料金とエディションの選択
Kendra は Developer Edition と Enterprise Edition の 2 つのエディションを提供します。Developer Edition は 1 時間あたり 1.125 USD (約 810 USD/月) で、最大 5 インデックス、40,000 文書、1 日あたり 4,000 クエリに対応します。開発・検証環境や小規模な社内検索に適しています。Enterprise Edition は 1 時間あたり 1.40 USD (約 1,008 USD/月) で、最大 5 インデックス、500,000 文書、1 日あたり 8,000 クエリに対応し、高可用性 (マルチ AZ) も提供されます。追加のドキュメントストレージやクエリ容量はオンデマンドで追加購入できます。コストを抑えるには、インデックスの使用時間を制御する (夜間・休日は停止する) アプローチも有効です。OpenSearch Serverless と比較すると、Kendra は自然言語検索の精度で優れますが、コストは高めです。検索対象が構造化されたログデータなら OpenSearch、非構造化の社内文書なら Kendra という使い分けが合理的です。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ - Kendra の活用指針
Amazon Kendra は、ML ベースの自然言語理解で社内ナレッジを横断検索するインテリジェント検索サービスです。40 以上のデータソースコネクタ、ACL による透過的なアクセス制御、FAQ 機能、Bedrock との RAG 統合が主な強みです。社内ヘルプデスクの問い合わせ削減、ナレッジマネジメントの効率化、カスタマーサポートの回答品質向上など、情報検索が業務のボトルネックになっている場面で効果を発揮します。Developer Edition で小規模に始め、効果を検証してから Enterprise Edition にスケールアップするアプローチを推奨します。
AWS の優位点
- 自然言語の質問に対して文書から直接回答を抽出する ML ベースの検索エンジンで、キーワード検索では見つからない情報を発見
- S3・RDS・SharePoint・Confluence・Salesforce・Google Drive など 40 以上のデータソースコネクタを標準提供
- FAQ 機能で定型的な質問と回答のペアを登録でき、社内ヘルプデスクの問い合わせ削減に直結
- アクセス制御リスト (ACL) をデータソースから自動取得し、ユーザーごとに閲覧権限のある文書のみを検索結果に表示
- Bedrock の RAG (Retrieval-Augmented Generation) パターンのリトリーバーとして活用でき、生成 AI の回答精度を向上
- Developer Edition (最大 5 インデックス、40,000 文書) は 1 時間あたり 1.125 USD、Enterprise Edition は 1 時間あたり 1.40 USD
- OpenSearch が全文検索・ログ分析に強みを持つのに対し、Kendra は自然言語理解と回答抽出に特化しており、非エンジニアのエンドユーザーが直感的に使える