前提条件
-
あなたはAlibaba Cloud アカウントを作成し、実名認証を完了しています。
-
Alibaba Cloud アカウントを作成後、コンソールに初めてログインすると、AccessKey の作成を促されます。
-
アプリケーションを作成および使用するには AccessKey が必要です。ご利用のメインアカウントに AccessKey が設定されている必要があります。
-
メインアカウントの AccessKey を作成後、RAM ユーザーの AccessKey を作成し、その RAM ユーザーを使用してアプリケーションにアクセスすることも可能です。必要な権限を RAM ユーザーに付与してください。詳細については、「アクセス権限付与ルール」をご参照ください。
アプリケーションの作成
操作手順:
-
アプリケーションを作成および購入します。
-
アプリケーションを構成します:アプリケーションスキーマを定義し、インデックススキーマを定義し、データソースを構成して作成を完了します。
-
検索テストを実行します。
-
検索アルゴリズムセンターおよびクエリ分析やソート構成などの高度な機能を使用します。
コンソールでリージョンとインスタンスタイプを選択し、[インスタンスの作成] をクリックします。
1. アプリケーションの購入
アプリケーションはサブスクリプションまたは従量課金で購入できます。
購入ページで、エディション(Industry Algorithm Edition、High-Performance Search Edition、Vector Search Edition、Recall Engine Edition)を選択し、アプリケーション名 を入力し、業種タイプ および クラスター設定 を選択し、必要に応じて ストレージ容量 および コンピューティングリソース を構成し、リソースグループ を選択してから、[今すぐ購入] をクリックします。
確認ページで構成情報を確認し、利用規約 のチェックボックスをオンにして、[今すぐ有効化] をクリックします。サービスが有効化されると、おめでとうございます! サービスが有効化されました。 というメッセージが表示されます。新しいインスタンスのプロビジョニングには通常 1~5 分かかります。[管理コンソール] をクリックしてインスタンスを管理できます。
2. アプリケーションの構成
アプリケーションが初期化されると、ステータスが 構成待ち に変化します。その後、[構成] をクリックしてアプリケーションスキーマを定義できます。
2.1 アプリケーションスキーマの定義
OpenSearch では、アプリケーションスキーマを作成するための 4 つの方法が提供されています。OpenSearch の Advanced エディションでは、複雑なビジネスシナリオに対応するため複数のテーブルもサポートしています。
プライマリテーブルとセガンダリテーブル間のデータ関係
アプリケーションスキーマを手動で定義してアプリケーションに複数のテーブルを作成する場合、テーブル間のデータ関係は以下のルールに従う必要があります。
-
プライマリテーブルとセガンダリテーブルは N:1 または 1:1 の関係のみをサポートします。1:N の関係はサポートされていません。つまり、複数テーブルの関係において「多」側がプライマリテーブルとなり、プライマリテーブルは 1 つしか存在できません。
-
プライマリテーブルとセガンダリテーブルは、プライマリテーブル内の外部キーを使用してセガンダリテーブルのプライマリキーを参照することで関連付けられる必要があります。
-
最大 2 レベルの関連付けがサポートされています。以下の複数テーブルデータ関連付けがサポートされています。
-
テーブル A → テーブル B、テーブル B → テーブル C
-
テーブル A → テーブル D
-
2 レベルを超える複数テーブルデータ関連付けはサポートされていません。
-
テーブル A → テーブル B、テーブル B → テーブル C、テーブル C → テーブル D
-
循環的な複数テーブルデータ関連付けはサポートされていません。
-
テーブル A → テーブル B、テーブル B → テーブル A
-
データモデル

アプリケーションスキーマの定義方法:
1. テンプレートから:カスタムアプリケーションスキーマをテンプレートとして保存し、新しいアプリケーションを迅速に作成できます。テンプレートにカスタムアナライザが含まれている場合、テンプレート構成をインポートする前に新しいインスタンスでそれらを作成する必要があります。
2. アップロードされたファイルから:データファイル(JSON 形式のみ)をアップロードできます。システムが自動的にファイルを解析し、初期アプリケーションスキーマを作成します。フィールドタイプなどの詳細を確認・再定義する必要があります。
3. データソースから:RDS や MaxCompute などのソースからデータを同期するシナリオに適しています。ソーステーブルスキーマから初期アプリケーションスキーマを迅速に作成でき、手動作業を削減し、エラーを最小限に抑えることができます。以下の例では RDS を使用しています。他のデータソースでも手順は同様です。詳細については、「RDS データソースの構成」をご参照ください。
[データソースから] タブをクリックします。表示されるパネルで、データソースタイプ(RDS、MaxCompute、または POLARDB)を選択し、[+ 新しいデータベース] をクリックします。[データベースへの接続] ダイアログボックスで、RDS インスタンス ID、データベース名、ユーザー名、および パスワード を入力し、[接続] をクリックします。
4. 手動作成:上記 3 つのシナリオが該当しない場合にこの方法を使用します。
スキーマを手動で作成する場合、テーブル名 を入力し、テーブルタイプ(プライマリテーブル またはセガンダリテーブル)を選択し、フィールド名、プライマリキー、および タイプ を設定してフィールドを構成します。最大 10 個のテーブルを追加できます。構成が完了したら、[次へ] をクリックします。
2.2 インデックススキーマの定義
-
QUERY 句で使用するフィールドは インデックス として作成する必要があります。浮動小数点タイプのフィールドはインデックスとして作成できません。形態素解析方法の詳細については、「Industry Algorithm Edition のテーブルスキーマ」をご参照ください。
-
FILTER 句、SORT 句、または明示的なフィールド要件を持つ関数で使用するフィールドは 属性フィールド として作成する必要があります。
-
TEXTやSHORT_TEXTなどのトークン化タイプのフィールドは 属性フィールド として構成できません。数値タイプまたは非トークン化タイプ(int、int_array、float、float_array、double、double_array、literal、literal_array)のフィールドのみが 属性フィールド として構成可能です。
インデックススキーマ構成ページは、インデックスフィールド(転置インデックスを構成。インデックス名、含まれるフィールド、解析方法を設定可能)、属性フィールド(フォワードインデックスを構成。フィルター、統計、集約、ソートに使用)、および デフォルト表示フィールド(検索結果に表示するフィールドを指定)の 3 つのセクションで構成されています。
2.3 データソースの構成
まず、データソースを関連付けます。関連付けが成功すると、データテーブルを選択し、>> をクリックして追加してから、[確認] をクリックします。
確認後、フィールドマッピングページが表示されます。
このページには、OpenSearch テーブルフィールドとデータソースフィールドのマッピングが表示されます。同じ名前のフィールドは自動的にマッピングされます。名前が異なる場合は、[+ データの追加] をクリックしてマッピングを手動で追加できます。
フィールドマッピングページでは、データ処理プラグインも構成できます。詳細については、「データ処理プラグイン」をご参照ください。
利用可能なプラグインには、HTMLTagRemover、JsonKeyValueExtractor、KeyValueExtractor、および StringCatenateExtractor が含まれます。プラグインを選択すると、フィールドリスト や フィールド区切り文字 などのパラメーターを構成できます。
注記
インデックスデータをデータソースとリアルタイムで同期させるには、Data Transmission Service (DTS) を使用してください。
2.4 作成の完了
アプリケーションスキーマ、インデックススキーマ、およびデータソースの構成が完了すると、アプリケーションが正常に構成されました というメッセージが表示されます。[アプリケーション一覧に戻る] をクリックして、インスタンス管理ページに戻ります。
3. 検索テストの実行
データがアップロードされた後、検索機能をテストできます。この目的のためにコンソールには検索テストページが用意されています。このページでは、検索要件に基づいてクエリ句およびクエリパラメーターを構成できます。詳細については、「API 概要」および「SDK 概要」をご参照ください。以下は検索テストページの使用例です。句またはパラメーターの横にある + アイコンをクリックし、ドロップダウンリストから必要な項目を選択して内容を入力し、[検索] をクリックしてクエリをテストします。
使用方法
1. 左側のナビゲーションウィンドウで **[機能拡張]** > **[検索テスト]** を選択します。必要な QUERY 句を入力します。
ページ上部でテスト対象のアプリケーションと環境を選択します。クエリ 入力ボックスに、id:'300' のような検索クエリを入力します。句 セクションで CONFIG 句などの句を追加できます。[検索] をクリックして結果を確認します。
2. さらに句やパラメーターを追加することも可能です。
句の説明
Query:QUERY 句。
Filter:FILTER 句。
Sort:SORT 句。
Distinct:DISTINCT 句。
Aggregate:AGGREGATE 句。
カスタム句:KVPAIR 句。
ページネーション句:CONFIG 句。
パラメーターの説明
fetch_fields(表示フィールド):検索結果で返すフィールドを指定します。複数のフィールドを指定する場合はセミコロン (;) で区切ります。
qp(クエリプロセッサ):クエリ分析構成の名前を指定します。
first_rank_name(粗いソート):基本ソート構成の名前を指定します。
second_rank_name(細かいソート):カスタムソート構成の名前を指定します。
summary(結果のまとめの構成):詳細については、「検索結果のまとめ」をご参照ください。
カテゴリ予測と元のクエリ:カテゴリ予測構成の名前とクエリを指定します。
re_search(再検索戦略):詳細については、「検索処理」をご参照ください。
user_id(ユーザー ID)および biz(ビジネス情報):詳細については、「検索処理」をご参照ください。
A/B テスト:A/B テストの名前を指定します。
disable:無効にする機能を指定します。例:disable=qp。
詳細な手順については、各高度な機能のドキュメントをご参照ください。