すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:テキストと密ベクトルに基づくハイブリッドクエリの実行

最終更新日:Jul 08, 2025

背景情報

Retrieval-Augmented Generation(RAG)およびセマンティック検索のシナリオでは、テキスト転置インデックスと密ベクトルを組み合わせて、テキスト取得と類似検索を効率的に実行します。このようにして、転置インデックスの高速取得機能と密ベクトルのセマンティック表現機能を組み合わせます。

OpenSearch Vector Search Edition インスタンスの購入

詳細については、「OpenSearch Vector Search Edition インスタンスを購入する」をご参照ください。

インスタンスの構成

購入したインスタンスの詳細ページで、インスタンスは [構成保留中] 状態です。システムは、データを含まないインスタンスを自動的にデプロイします。クエリ結果サーチャー(QRS)ワーカーとサーチャーワーカーの数と仕様は、購入したインスタンスと同じです。インスタンスを検索に使用する前に、次の手順を実行します。テーブルの構成、データソースの追加、フィールドの構成、インデックススキーマの構成、そしてインスタンスのインデックスの再作成を実行します。

1. テーブルの基本情報の構成

インスタンスの詳細ページの左側のペインで、[テーブル管理] をクリックします。 [テーブル管理] ページで、テーブルを追加テーブル名データ シャードデータ更新のリソース数 をクリックします。作成ウィザードの [テーブルの基本情報] 手順で、、、、および [シナリオテンプレート] パラメーターを構成します。

パラメーター:

  • テーブル名: テーブルの名前。カスタムテーブル名を入力できます。

  • データシャード: テーブルに含まれるデータシャードの数。1 から 256 の範囲の正の整数を入力します。シャーディングを実行してフルインデックス作成を高速化し、単一クエリの パフォーマンス を向上させることができます。既存の OpenSearch インスタンスに複数のインデックステーブルを作成する場合は、インデックステーブルに同じ数のシャードが含まれていることを確認してください。または、少なくとも 1 つのインデックステーブルに 1 つのシャードが含まれており、他のインデックステーブルに同じ数のシャードが含まれていることを確認してください。

  • データ更新のリソース数: データ更新に使用されるリソースの数。デフォルトでは、インデックスごとにデータ更新用の 2 つのリソースの無料クォータが提供されます。各リソースは 4 CPU コアと 8 GB のメモリで構成されています。無料クォータを超えるリソースについては課金されます。詳細については、「OpenSearchベクトル検索版の課金概要」トピックの「データ更新リソース料金」セクションをご参照ください。

2. データソースの追加

データ同期ステップで、データソースを追加します。Object Storage Service(OSS)データソース、MaxCompute データソース、API データソース、または Data Lake Formation(DLF)データソースを追加できます。この例では、フルデータソースとして [OSS + API] が選択されています。OSS パス、バケット、およびデータ形式パラメーターを構成します。次に、[確認] をクリックして、データソース情報を確認します。確認に合格したら、[次へ] をクリックします。

3. フィールドの構成

[フィールド構成] 手順で、フィールドを構成します。 [テーブルの基本情報] 手順で [密ベクトルと疎ベクトルによるハイブリッド検索] を選択した場合は、id をプライマリキーフィールド、vector を密ベクトルフィールド、title をテキスト転置インデックスフィールドとして定義する必要があります。

以下の情報にご注意ください。

  • プライマリキーフィールドとベクトルフィールドは必須です。プライマリキーフィールドでは、[タイプ] パラメーターを INT または STRING に設定し、[プライマリキー] 列のチェックボックスをオンにする必要があります。

  • ベクトルフィールドは必須です。複数のベクトルをベクトルフィールドとして指定できます。ベクトルフィールドは、FLOAT タイプの複数値フィールドとして定義する必要があります。

  • テキスト転置インデックスフィールドの [タイプ] パラメーターを TEXT に設定する必要があります。フィールドと同じ名前の転置インデックスが自動的に作成されます。

4. インデックススキーマの構成

パラメーター:

  • ベクトルインデックス

    • インデックス名: このパラメーターは必須です。カスタムインデックス名を入力できます。

    • ハイブリッド検索: [ハイブリッド検索] を有効にした後、疎ベクトル添え字フィールドと疎ベクトル値フィールドを構成する必要があります。

    • ベクトル次元: 密ベクトルの次元。

    • 距離タイプ: InnerProduct(内積距離、スコアが高いほどベクトルとの関連性が高い)または SquareEuclidean(ユークリッド距離、スコアが低いほどベクトルとの関連性が高い)を選択できます。

    • リアルタイムインデックス作成: このパラメーターを true または false に設定できます。

    • ベクトルインデックスアルゴリズム: Liner、HNSW、QGraph、および QC アルゴリズムがサポートされています。サポートされているアルゴリズムの詳細については、「ベクトルの概要」をご参照ください。

    • ベクトルインデックスの詳細設定のパラメーターを個別に構成する必要があります。詳細については、「ベクトルインデックスの共通構成」をご参照ください。

  • その他のインデックス

    [タイプ] が TEXT に設定されているフィールドの場合、通常のインデックスが自動的に作成されます。

  • グローバルインデックス構成

    期限切れのドキュメントの自動クリーンアップ ポリシー を構成できます。

5. 作成の確認

[確認] ステップで、[確認] をクリックします。

6. 変更履歴の表示

インスタンスの詳細ページの左側のペインで、[変更履歴] をクリックします。表示されるページで、テーブルの作成、インデックスの作成、および完全データのインデックス再作成のプロセスに関連するすべての有限状態機械(FSM)を表示できます。検索エンジンが構築された後、インスタンスでクエリテストを実行できます。

クエリ構文

転置インデックス