AWS re:Invent2025にて、現地ラスベガスで参加した個別セッションのなかでOpenSearchに関する興味深いセッションがあったのでご紹介します。
※OpenSearchは、キーワード検索等に利用されるオープンソースの検索エンジンです。Amazon Bedrock Knowledge Basesでデフォルトのベクトルストアとして設定されており、検索精度がものをいうRAGアプリケーションにおいて重要な役割を果たします。
セッション概要
本セッションでは、検索エンジンで利用される検索手法とOpenSearchの機能について、実際の事例も交えながら紹介されました。
セッション内容
検索における課題とOpenSearchの機能(Jon Handler氏)
従来の検索の課題
ユーザーは意図をもって検索を行いますが、従来の検索エンジンはキーワードに基づいて単語と単語のマッチングを行うため、文脈や意味を理解できず、検索結果にミスマッチが生じることがあります(例: 「子供向けの靴下」で子ども向けおもちゃと靴下のランダムな結果が返される)。
代表的な検索手法としては、以下の2種類があります。
- レキシカル検索: 特定のクエリには優れているが、抽象的なクエリ(例:「スポーツ観戦に適したテレビ」)には不向き。 OpenSearch では、言語処理(ステミング、ストップワードの削除など)を行い、転置インデックス(inverted index)を使用して単語を含むドキュメントを効率的に見つける。 スコアリングは、単語の頻度(頻出しない単語ほど高いスコア)とドキュメント内のマッチ回数に基づいて行われる。
- セマンティック検索: ベクトル埋め込み(vector embedding)を使用し、単語の文字列から意味を抽出する。 クエリとドキュメントを多次元空間のベクトルとして表現し、近さ(類似性)を測ることで、文脈を考慮した検索が可能になる。 特定のクエリには不向きだが、文脈に基づく情報検索、マルチモーダル(多様な形式)な情報検索に優れている。
OpenSearchの機能
OpenSearchは、ニューラルプラグイン(Neural Plugin)を通じて外部の埋め込みモデル(Embedding Models)や大規模言語モデル(LLMs)と連携できます。このプラグインにより、インジェストパイプラインとクエリパイプラインを定義し、自動的に埋め込みを生成して検索に利用することが容易になります。
また、OpenSearchはハイブリッド検索をサポートしています。ハイブリッド検索は、レキシカル検索とセマンティック検索の両方の利点を活かすアプローチです。検索結果のスコアを融合(ブレンディング)させることで、両者の弱点を補います。
実際のハイブリッド検索の実装事例(須藤遼介氏)
リクルートの須藤遼介氏から、自社の検索システム(ホットペッパーグルメ)に関する事例紹介がありました。
従来の課題
従来のレキシカル検索は、ユーザーの入力ミスや日本語特有の分かち書きの問題に弱いという問題がありました。例えば「寿司レストラン」を間違えて入力すると、レキシカル検索ではマッチしません。
また、ベクトル検索は意味を理解するため、入力ミスには強い一方で、固有名詞(例: レストラン名)のような正確なマッチングには弱いという問題があります。
ハイブリッド検索の導入
両検索の長所(レキシカル検索の正確性とベクトル検索の文脈理解)を組み合わせたハイブリッド検索により、精度向上を図ったといいます。
他にも候補は挙がっていたものの、スピード、AWSとの親和性、充実した機能(インジェストパイプライン、多言語対応プラグイン)からOpenSearchの採用が決まったとのことです。
アーキテクチャ
OpenSearchを使用してレキシカル検索とセマンティック検索を並行して実行し、それぞれのスコアを別々に取得します。この別々に取得したスコアを利用して、カスタムのハイブリッド検索ロジックを構築し、ユーザーの意図を考慮したスマートな意思決定を実現しました。
ビジネスへの影響
カスタムハイブリッド検索を導入した結果、予約率が10%向上し、入力ミスによる検索失敗率が90%削減されたとのことです。レキシカル検索とベクトル検索の分離とカスタムロジックが、ビジネスインパクトをもたらす鍵になったと語っています。
エージェント検索と OpenSearch の新機能 (Bobby Mohammed氏)
エージェント検索の必要性
AIエージェントの活用が広まっている現在、従来の一問一答形式ではなく、複雑なタスクを反復的・動的に解決するAIエージェントアプリケーションに対応可能なエージェント検索が必要とされているといいます。
LLMのコンテキストウィンドウの増大だけでは無限の情報を保持することはできません。高品質な情報抽出のためには、依然としてリトリーバル(検索)が重要となります。
OpenSearch 3.3の新機能
- マルチモーダル埋め込み: すでにテキストと画像の埋め込みに対応しているTitanに加え、Amazon Nova Multimodal Embeddingsで6種類のモダリティ(テキスト、画像、音声など)を新たにサポート。統合した単一のベクトル空間を構築し、より豊かで正確なコンテキスト検索を実現。
- MCP統合: エージェントシステムが外部ツールやデータにアクセスするための業界標準プロトコルであるMCPをサポート。OpenSearchはクライアントとサーバーの両方を提供し、20以上のすぐに使えるツール(Query Planner、Search Indexなど)を用意。
- メモリ機能: エージェントの記憶保持を可能にするメモリ機能をサポート。情報の関連性に基づいた短期/長期記憶、過去の履歴に基づいたパーソナライズされた検索、長期記憶に基づいた(単体のクエリに依存しない)文脈理解に基づく推論を可能にする。
- 特化型エージェント: OpenSearch環境内で動作するローカルエージェントの提供。フローエージェント、会話エージェントなど、特定のユースケースに特化したエージェントを容易にデプロイできる。
パフォーマンスとコストの最適化
OpenSearch は、過去数年で検索エンジンを11倍高速化し、ベクトル検索速度を2.5倍に向上させました。
また、安価なストレージを利用するディスクモードやS3 Vectorsなどのコスト効率の高いベクトルストレージ層を導入し、大規模ワークロードのコスト削減を可能しています。
まとめ
検索エンジンのOpenSearchですが、OpenSearch内でエージェントを作成できるほどにAI機能が大幅に強化されていることに驚きました。
OpenSearchだけでなく、多くのサービスのAI機能が強化されているのを見ると、「生成AIをどう活用するか?」から「生成AIの活用を前提として何を実現するか?」と考える状況へと変化しているように感じます。


