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

OpenSearch:オンライン複数テーブル結合をサポートするアプリケーションを構築する

最終更新日:Nov 05, 2025

このトピックでは、オンライン複数テーブル結合機能をサポートするインスタンスを迅速に構築する方法について説明します。

前提条件

  1. Alibaba Cloud アカウントを作成し、本人確認を完了します。

  2. 初めて Alibaba Cloud コンソールにログインすると、AccessKey の作成を求められます。

手順

  1. アプリケーションを購入して作成します。

  2. アプリケーションスキーマとインデックススキーマを定義し、データソースを構成して、アプリケーションを構成します。

  3. 検索機能をテストします。

アプリケーションの作成

  1. OpenSearch 高性能検索版[インスタンス管理] ページで、[インスタンスの作成] をクリックします。

    image

  2. エディション、課金方法、リージョンとゾーン、アプリケーション名、クラスタープリファレンス、ストレージ容量、計算リソースなどのインスタンス仕様を選択します。次に、[今すぐ購入] をクリックします。

    image

    エディションを [高性能検索版] に設定します。

    image

    • 製品タイプ: サブスクリプションまたは従量課金

    • リージョンとゾーン: 目的のリージョンとゾーンを選択します。

    • アプリケーション名: カスタム名を入力します。

    • クラスタープリファレンス: ストレージ最適化専用クラスター

    • ストレージ容量と計算リソースはデフォルト値のままにするか、必要な容量とリソースを指定できます。

  3. 注文を確認し、利用規約を選択してから、[今すぐアクティブ化] をクリックします。

    image

  4. インスタンスがアクティブ化されると、コンソールのインスタンスリストに「保留中」のステータスで表示されます。

    image

アプリケーションの構成

  1. コンソールのインスタンスリストページで、新しいインスタンスを見つけ、[操作] 列の [設定] をクリックします。

    image

  2. アプリケーションスキーマを定義します。次の 4 つの方法のいずれかでアプリケーションスキーマを作成できます。

    • テンプレートからアプリケーションスキーマを作成する。定義済みのアプリケーションスキーマをテンプレートとして保存し、それを使用して新しいアプリケーションを迅速に作成できます。

    • ドキュメントをアップロードしてアプリケーションスキーマを作成する。既存のデータファイルを JSON 形式でアップロードできます。システムはファイルを自動的に解析し、初期アプリケーションスキーマを作成します。その後、フィールドタイプやその他の設定を再定義する必要があります。

    • データソースからアプリケーションスキーマを作成する。この方法は、RDS や MaxCompute などのソースからのデータ同期に適しています。この機能は、ソーステーブルスキーマから初期アプリケーションスキーマを迅速に生成します。これにより、手動での構成が減り、エラーの可能性が低くなります。詳細については、「データソース構成」をご参照ください。

    • 手動でアプリケーションスキーマを作成する。この方法は、迅速なテストに使用します。このトピックでは、この方法を使用して 2 つのテーブルを例として作成します。

    image

    フィールドタイプの詳細については、「OpenSearch 高性能検索版のアプリケーションスキーマ」をご参照ください。

    :

    説明

    テーブルの総数は、システムの制限である 8 を超えることはできません。

  3. インデックススキーマを構成します。各テーブルのインデックススキーマを個別に構成する必要があります。

    image

    • インデックススキーマの構成方法の詳細については、「インデックススキーマ」をご参照ください。

    • 分析メソッドの選択方法の詳細については、「テキストアナライザ」をご参照ください。

    • 属性フィールドの選択: フィールドを属性フィールドとして設定し、SELECT、WHERE、または ORDER BY 句で使用します。

    説明
    • FLOAT、FLOAT_ARRAY、DOUBLE、または DOUBLE_ARRAY 型のフィールドは、インデックスフィールドとして設定できません。

    • TEXT または SHORT_TEXT 型のフィールドは、属性フィールドとして設定できません。

  4. ルートフィールドを構成します。

    image

    OpenSearch インスタンスは、分散バックエンドデプロイメントを使用します。複数テーブルのシナリオでは、次の図に示すように、結合する必要がある異なるテーブルのデータが同じマシンに存在する必要があります。

    インデックスを構築する際、エンジンは構成されたルートフィールドに基づいてレコードをハッシュ化し、同じハッシュ値を持つレコードを同じ列に格納します。クエリ中、QRS ワーカーは各列にリクエストを送信します。その後、各列は SQL クエリに基づいて内部結合を実行します。列をまたいだ結合は実行されません。最後に、各列は結合結果を QRS ワーカーに返し、QRS ワーカーは結果を集計してユーザーに返します。

    説明
    • デフォルトでは、システムはプライマリキーをルートフィールドとして使用します。

    • ルートフィールドとして選択できるフィールドは 1 つだけです。

    • ルートフィールドの値はグローバルに一意である必要があります。

    • ルートフィールドは、INT および LITERAL データ型をサポートします。

    • プライマリキー以外のキーでテーブルを結合するには、結合フィールドをルートフィールドとして構成する必要があります。

  5. OpenSearch 高性能検索版でサポートされているデータソースタイプを選択して、データソースを構成します。

    image

    [データソースの追加] をクリックして、データソースを構成します。

    image

  6. 構成が完了したら、[完了] をクリックします。

    image

  7. インスタンス詳細ページで、オフラインアプリケーションのステータスが [通常] に変わるまで待ちます。その後、クエリを実行できます。

検索機能のテスト

  1. オフラインアプリケーションのステータスが「通常」に変わり、アプリケーションが公開された後、[検索テスト] ページで検索機能をテストできます。

    image

  2. 現在、オンライン複数テーブル結合は SQL クエリのみをサポートしています。

    SQL 構文の詳細については、「SQL サポート」をご参照ください。

使用上の注意

  • ストレージ最適化専用クラスターのみがオンライン複数テーブル結合をサポートします。

  • 複数テーブル結合のシナリオでは、SQL クエリのみがサポートされます。

  • 複数テーブル結合シナリオでは、カスタムアナライザはサポートされていません。

  • 複数テーブル結合のシナリオでは、ソート構成はサポートされていません。ただし、ORDER BY を使用できます。

  • 複数テーブル結合のシナリオでは、検索結果表示設定はサポートされていません。

  • ストレージ最適化専用クラスターのインスタンスは、他の仕様にスペックアップまたはスペックダウンすることはできません。