このトピックでは、オンライン複数テーブル結合機能をサポートするインスタンスを迅速に構築する方法について説明します。
前提条件
Alibaba Cloud アカウントを作成し、本人確認を完了します。
初めて Alibaba Cloud コンソールにログインすると、AccessKey の作成を求められます。
手順
アプリケーションを購入して作成します。
アプリケーションスキーマとインデックススキーマを定義し、データソースを構成して、アプリケーションを構成します。
検索機能をテストします。
アプリケーションの作成
OpenSearch 高性能検索版の [インスタンス管理] ページで、[インスタンスの作成] をクリックします。

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

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

製品タイプ: サブスクリプションまたは従量課金。
リージョンとゾーン: 目的のリージョンとゾーンを選択します。
アプリケーション名: カスタム名を入力します。
クラスタープリファレンス: ストレージ最適化専用クラスター
ストレージ容量と計算リソースはデフォルト値のままにするか、必要な容量とリソースを指定できます。
注文を確認し、利用規約を選択してから、[今すぐアクティブ化] をクリックします。

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

アプリケーションの構成
コンソールのインスタンスリストページで、新しいインスタンスを見つけ、[操作] 列の [設定] をクリックします。

アプリケーションスキーマを定義します。次の 4 つの方法のいずれかでアプリケーションスキーマを作成できます。
テンプレートからアプリケーションスキーマを作成する。定義済みのアプリケーションスキーマをテンプレートとして保存し、それを使用して新しいアプリケーションを迅速に作成できます。
ドキュメントをアップロードしてアプリケーションスキーマを作成する。既存のデータファイルを JSON 形式でアップロードできます。システムはファイルを自動的に解析し、初期アプリケーションスキーマを作成します。その後、フィールドタイプやその他の設定を再定義する必要があります。
データソースからアプリケーションスキーマを作成する。この方法は、RDS や MaxCompute などのソースからのデータ同期に適しています。この機能は、ソーステーブルスキーマから初期アプリケーションスキーマを迅速に生成します。これにより、手動での構成が減り、エラーの可能性が低くなります。詳細については、「データソース構成」をご参照ください。
手動でアプリケーションスキーマを作成する。この方法は、迅速なテストに使用します。このトピックでは、この方法を使用して 2 つのテーブルを例として作成します。

フィールドタイプの詳細については、「OpenSearch 高性能検索版のアプリケーションスキーマ」をご参照ください。
注:
説明テーブルの総数は、システムの制限である 8 を超えることはできません。
インデックススキーマを構成します。各テーブルのインデックススキーマを個別に構成する必要があります。

インデックススキーマの構成方法の詳細については、「インデックススキーマ」をご参照ください。
分析メソッドの選択方法の詳細については、「テキストアナライザ」をご参照ください。
属性フィールドの選択: フィールドを属性フィールドとして設定し、SELECT、WHERE、または ORDER BY 句で使用します。
説明FLOAT、FLOAT_ARRAY、DOUBLE、または DOUBLE_ARRAY 型のフィールドは、インデックスフィールドとして設定できません。
TEXT または SHORT_TEXT 型のフィールドは、属性フィールドとして設定できません。
ルートフィールドを構成します。

OpenSearch インスタンスは、分散バックエンドデプロイメントを使用します。複数テーブルのシナリオでは、次の図に示すように、結合する必要がある異なるテーブルのデータが同じマシンに存在する必要があります。
インデックスを構築する際、エンジンは構成されたルートフィールドに基づいてレコードをハッシュ化し、同じハッシュ値を持つレコードを同じ列に格納します。クエリ中、QRS ワーカーは各列にリクエストを送信します。その後、各列は SQL クエリに基づいて内部結合を実行します。列をまたいだ結合は実行されません。最後に、各列は結合結果を QRS ワーカーに返し、QRS ワーカーは結果を集計してユーザーに返します。
説明デフォルトでは、システムはプライマリキーをルートフィールドとして使用します。
ルートフィールドとして選択できるフィールドは 1 つだけです。
ルートフィールドの値はグローバルに一意である必要があります。
ルートフィールドは、INT および LITERAL データ型をサポートします。
プライマリキー以外のキーでテーブルを結合するには、結合フィールドをルートフィールドとして構成する必要があります。
OpenSearch 高性能検索版でサポートされているデータソースタイプを選択して、データソースを構成します。

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

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

インスタンス詳細ページで、オフラインアプリケーションのステータスが [通常] に変わるまで待ちます。その後、クエリを実行できます。
検索機能のテスト
オフラインアプリケーションのステータスが「通常」に変わり、アプリケーションが公開された後、[検索テスト] ページで検索機能をテストできます。

現在、オンライン複数テーブル結合は SQL クエリのみをサポートしています。
SQL 構文の詳細については、「SQL サポート」をご参照ください。