Dev Classmethod Jp Articles 20260621 Amazon Opensearch Serverless Agentic Search
[アップデート] Amazon OpenSearch Serverless NextGen × Amazon Bedrock (Claude) で自然言語を検索 DSL に変換する Agentic Search を試してみた
- URL: https://dev.classmethod.jp/articles/20260621-amazon-opensearch-serverless-agentic-search
- 日付: 2026-06-22
- Tier: Tier 2
- 要旨: Amazon OpenSearch Serverless NextGen × Amazon Bedrock(Claude)で自然言語検索。QueryPlanningTool が LLM で自然言語を OpenSearch DSL に変換。ユーザーは日本語で「800 ドル未満のノートパソコンを表示して」と入力すると、システムが意図を解釈して price の range フィルタ・product_name のマッチクエリを自動生成・実行。NextGen は scale-to-zero に対応(OCU 最小 0)。IAM ロール・セキュリティポリシー・ML コネクタ登録・エージェント登録を経て実運用。
詳細
Amazon OpenSearch Serverless NextGen(SEARCH Collection)+ Amazon Bedrock Claude Sonnet 4.6 で Agentic Search 実装。QueryPlanningTool が Bedrock Converse API 呼び出しで自然言語を OpenSearch DSL に変換。2 種類エージェント:conversational 型(多ターン対話)と flow 型(単一問い合わせ)。本記事は flow 型 + QueryPlanningTool 1 つで実装。エージェント背景で Tokyo リージョン NextGen コレクショングループ(最小 OCU 0、最大 2、standby replicas ENABLED)を構築。IAM ロール ml.opensearchservice.amazonaws.com 信頼ポリシー・bedrock:InvokeModel 権限・セキュリティポリシー(暗号化・ネットワーク・データアクセス)設定。ML コネクタに Bedrock Converse API エンドポイント・IAM ロール ARN を登録(model_id 発行)。エージェント登録に agent_id 発行。自然言語クエリ「800 ドル未満のノートパソコンを表示」で price.lt:800・kuromoji テキストマッチを含む DSL 自動生成。数値範囲・真偽値・カテゴリ・ソート条件を正確に DSL へ落とし込み。検索パイプライン + agentic_query_translator + agentic_context レスポンスプロセッサーでエンドツーエンド検索実行。