前提条件
Alibaba Cloud アカウント が作成されており、実名登録 が完了していること。
Alibaba Cloud アカウントを作成して初めてコンソールにログインすると、続行する前に AccessKey ペアを作成するように求められます。
OpenSearch アプリケーションの作成と使用には AccessKey ペアが必要となるため、Alibaba Cloud アカウントの AccessKey ペアを指定する必要があります。
Alibaba Cloud アカウントの AccessKey ペアを作成した後、RAM ユーザーの AccessKey ペアを作成して、RAM ユーザーとしてアプリケーションにアクセスできるようにすることができます。 RAM ユーザーに権限を付与する方法の詳細については、「アクセス認証ルール」をご参照ください。
アプリケーションの作成
手順:
アプリケーションを購入します。
次の手順でアプリケーションを構成します。アプリケーションスキーマの定義、インデックススキーマの定義、データソースの構成、そして構成の完了です。
検索テストを実行します。
検索アルゴリズムセンターと高度な機能を使用します。たとえば、検索アルゴリズムセンターで検索結果を分析したり、ソートを構成したりできます。
OpenSearch Industry Algorithm Edition コンソールにログインします。 リージョンを選択し、インスタンスの作成 をクリックします。

1. アプリケーションの購入
OpenSearch は、従量課金とサブスクリプションの課金方法をサポートしています。ビジネス要件に基づいてリージョンを選択し、アプリケーションを購入できます。次の図は、アプリケーションを購入する手順を示しています。

2. アプリケーションの構成
購入したアプリケーションが初期化されると、アプリケーションは 保留中 状態になります。アプリケーションを構成するには、[インスタンス管理] ページの [アクション] 列で [構成] をクリックして、アプリケーションスキーマを定義します。


2.1 アプリケーションスキーマの定義
OpenSearch コンソールでは、アプリケーションスキーマを定義するための 4 つのメソッドが提供されています。高度なアプリケーションは複数のテーブルをサポートしており、複雑なビジネスシナリオでの呼び出しが容易になります。
プライマリテーブルとセカンダリテーブルの関連付けルール
アプリケーションのスキーマを構成するために手動で複数のテーブルを作成する場合は、次のルールに注意してください。
プライマリテーブルのレコードとセカンダリテーブルのレコードの比率は N:1 または 1:1 である必要があります。 1:N の比率はサポートされていません。つまり、1 つのプライマリテーブルレコードを複数のセカンダリテーブルレコードに関連付けることはできません。 また、プライマリテーブルとして設定できるテーブルは 1 つだけです。
セカンダリテーブルは、セカンダリテーブルのプライマリキーをプライマリテーブルの外部キーに関連付けることで、プライマリテーブルに関連付けることができます。 プライマリテーブルの外部キーは、セカンダリテーブルのプライマリキーにのみ関連付けることができます。
セカンダリテーブルがプライマリテーブルに関連付けられている場合、最大 2 つのレベルがサポートされます。 複数のテーブル間でサポートされる関連付けの例:
テーブル a -> テーブル b、テーブル b -> テーブル c
テーブル a -> テーブル d
セカンダリテーブルがプライマリテーブルに関連付けられている場合、最大 2 つのレベルがサポートされます。
テーブル a -> テーブル b、テーブル b -> テーブル c、テーブル c -> テーブル d
テーブルをループに関連付けることはできません。
テーブル a -> テーブル b、テーブル b -> テーブル a
データモデル

アプリケーションスキーマを定義する手順:
1. テンプレートを使用してアプリケーションスキーマを定義する。 テンプレートを作成してカスタムアプリケーションスキーマを定義し、そのテンプレートを使用してアプリケーションを作成できます。 既存のテンプレートにカスタムアナライザが含まれている場合は、インスタンスにテンプレートを作成し、既存のテンプレートの構成を新しいテンプレートにインポートする必要があります。
2. データファイルを使用してアプリケーションスキーマを定義する。 OpenSearch Industry Algorithm Edition コンソールにデータファイルをアップロードできます。 次に、OpenSearch はアップロードされたデータファイルを自動的に解決し、初期アプリケーションスキーマを生成します。 注: データファイルは JSON 形式である必要があります。 初期アプリケーションスキーマが生成されたら、フィールドタイプなどの特定の属性を再定義する必要があります。
3. データソースを使用してアプリケーションスキーマを定義する。 ApsaraDB RDS や MaxCompute データソースなどのデータソースからデータを同期する場合に、このメソッドを使用できます。 ソーステーブルのスキーマを使用して、初期アプリケーションスキーマを生成できます。 これにより、手動定義のワークロードが削減され、エラーの可能性が減少します。 さまざまなデータソースへの接続手順は似ています。 次の図は、ApsaraDB RDS データソースに接続する方法を示しています。 詳細については、「ApsaraDB RDS for MySQL データソースの構成」をご参照ください。


4. 手動でアプリケーションスキーマを定義する。

2.2 インデックススキーマの定義
QUERY 句に含まれるフィールドを使用して、インデックスフィールドを作成する必要があります。 FLOAT タイプのフィールドを使用してインデックスフィールドを作成することはできません。 単語を分割する方法の詳細については、「Industry Algorithm Edition のテーブルのスキーマ」をご参照ください。
次のフィールドを使用して、属性フィールドを作成する必要があります。FILTER 句または SORT 句に含まれるフィールド、および対応する関数で指定されているように属性フィールドに設定する必要があるフィールド。
TEXT や SHORT_TEXT などのテキストタイプのフィールドを使用して属性フィールドを作成することはできません。 INT、INT_ARRAY、FLOAT、FLOAT_ARRAY、DOUBLE、DOUBLE_ARRAY、LITERAL、LITERAL_ARRAY などの数値タイプまたはテキスト以外のタイプのフィールドを使用してのみ属性フィールドを作成できます。

2.3 データソースの構成
データソースに接続します。 次に、接続されているデータソースから 1 つ以上のテーブルを選択し、>> をクリックします。

選択を確認したら、[OK] をクリックします。 次に、フィールドマッピングを構成できます。

フィールドマッピングを構成するときに、データ処理用のプラグインを構成できます。 データ処理用のプラグインの使用方法の詳細については、「データ処理プラグインの使用」をご参照ください。

注
Data Transmission Service (DTS) を使用して、さまざまなデータソース間でデータをリアルタイムに同期できます。 詳細については、「DTS リアルタイム同期の構成」をご参照ください。
2.4 構成の完了

3. 検索テストの実行
データソースが構成されたら、データの検索を開始できます。 OpenSearch コンソールには、検索テストを実行するための [検索テスト] ページが用意されています。 ビジネス要件に基づいてデータ検索の句とフィールドを構成できます。 次の例では、[検索テスト] ページでテストを実行する方法について説明します。 その他の検索方法の詳細については、「API の概要」および「SDK の概要」をご参照ください。 [検索テスト] ページで検索テストを実行するには、[句] または [パラメーター] の横にあるプラスアイコンにポインターを移動し、ドロップダウンリストから使用する句またはフィールドを選択し、句またはフィールドを指定して、[検索] をクリックします。
手順:
1. 左側のナビゲーションウィンドウで、[機能拡張] > [検索テスト] を選択します。 [検索テスト] ページで、クエリパラメーターの QUERY 句を指定します。 これは必須パラメーターです。

2. 必要に応じて、句またはフィールドを追加します。


句の説明
QUERY 句: query 句
FILTER 句: filter 句
SORT 句: sort 句
DISTINCT 句: distinct 句
AGGREGATE 句: aggregate 句
KVPAIR 句: kvpair 句
CONFIG 句: config 句
フィールドの説明
表示フィールド - fetch_fields: 表示するフィールドを設定します。 複数のフィールドはセミコロン (;) で区切ります。
クエリ分析 - qp: クエリ分析の名前を設定します。
基本ソート式 - first_rank_name: 基本ソートの名前を設定します。
高度ソート式 - second_rank_name: 高度ソートの名前を設定します。
検索結果サマリー構成 - summary: 検索結果のサマリーを構成します。 詳細については、「検索結果サマリー」をご参照ください。
カテゴリ予測 - category_prediction と元の検索クエリ - raw_query: クエリワードとカテゴリ予測の名前を設定します。
再検索ポリシー - re_search: 再検索ポリシーを設定します。 詳細については、「検索リクエストの開始」をご参照ください。
ビジネス情報 - biz とユーザー ID - user_id: ビジネス情報とユーザー ID を設定します。 詳細については、「検索リクエストの開始」をご参照ください。
A/B テスト - abtest: A/B テストの名前を設定します。
無効化フィールド - disable: 1 つ以上のフィールドを無効にします。 例: disable = qp。
高度な機能の使用方法の詳細については、対応するトピックをご参照ください。