Google Cloud は 10 月 6 日、AlloyDB AI のハイブリッド検索機能を公開しました。ベクトル検索 (意味) と全文検索 (キーワード) をデータベース内で結合し、Reciprocal Rank Fusion (RRF) で順位ベースに融合することで、アプリ側で行っていたスコア正規化やジョイン処理を不要にします。

主なポイント

  • 新しい ai.hybrid_search 関数で、ベクトルと全文の両コンポーネントを 1 つの SQL 呼び出しとして記述できます。クエリ本体には data_type: "vector" と data_type: "text" のサブ検索を JSON で渡します。
  • RRF は順位ベースで統合するため、スコア分布が変化してもチューニング不要と説明されています。マルチステップのワークフローで課題となる正規化の脆さを避ける狙いです。
  • 全文検索の選択肢として、位置情報を索引化して低遅延のフレーズ検索を可能にする RUM 拡張と、pg_textsearch 経由のネイティブ BM25 索引が利用できます。
  • 外部検索 FDW を使えば、AlloyDB から Elasticsearch・OpenSearch・Solr を直接クエリでき、データを AlloyDB の外に出さずに統合検索を構成できます。
  • CREATE EXTENSION pg_textsearch; と BM25 索引、<@> 演算子を使う例が記事中で示されています。

AlloyDB AI の既存機能である埋め込み生成やベクトル検索と組み合わせることで、RAG 系ワークロードを 1 つのクエリにまとめやすくなります。

出典: AlloyDB: A unified database engine for hybrid search