このガイドでは、OpenSearch アプリケーションをすばやく作成し、高性能な検索サービスを構築する方法を説明します。
前提条件
Alibaba Cloud アカウントを持ち、本人確認を完了している必要があります。
Alibaba Cloud コンソールに初めてログインすると、AccessKey の作成を求められます。
アプリケーションを作成して使用するには、メインアカウントの AccessKey が必要です。
メインアカウントの AccessKey を作成した後、RAM ユーザー用の AccessKey も作成できます。RAM ユーザーに必要な権限を付与します。詳細については、「アクセス制御ルール」をご参照ください。
ステップ 1:アプリケーションの購入
OpenSearch コンソールにログインします。左上隅で、[OpenSearch-High-performance Search Edition] を選択します。[インスタンス管理] ページで、[インスタンスの作成] をクリックします。
アプリケーションは、サブスクリプションまたは従量課金のいずれかの請求方法で購入できます。
購入ページで、リージョンとアベイラビリティーゾーン (中国 (深圳) や中国 (北京) など) を選択し、アプリケーション名 (作成後に変更不可) を入力し、クラスター仕様 (専用クラスター - 汎用、専用クラスター - コンピューティング最適化、専用クラスター - ストレージ最適化、または 共有クラスター - 汎用) を選択します。
購入ページで、ストレージ容量 (例:100 GB)、コンピューティングリソース (例:800 LCU)、請求サイクル (1~6 か月の期間を選択し、オプションで [自動更新] を選択)、リソースグループ (デフォルトは デフォルトリソースグループ) を設定します。その後、[今すぐ購入] をクリックして注文します。
ステップ 2:アプリケーションの設定
アプリケーションが初期化されると、そのステータスは 保留中 に変わります。[設定] をクリックして、アプリケーションスキーマを定義します。
設定ウィザードは、[アプリケーションスキーマ] → [インデックススキーマ] → [データソース] → [完了] の 4 つのステップで構成されます。最初のステップでは、アプリケーションスキーマを作成する方法を選択します。選択肢には、[データソースから作成]、[手動で作成]、[テンプレートから作成]、[ドキュメントをアップロードして作成] があります。選択後、[次へ] をクリックします。
アプリケーションスキーマの定義
アプリケーションスキーマは 4 つの方法で作成できます。
アプリケーションスキーマの定義方法:
テンプレートからアプリケーションスキーマを作成:設定済みアプリケーションスキーマをテンプレートとして保存し、新しいアプリケーションをすばやく作成できます。
ドキュメントをアップロードしてアプリケーションスキーマを作成:既存のデータファイル (JSON 形式のみ) をアップロードできます。システムがファイルを自動的に解析し、初期アプリケーションスキーマを作成します。その後、フィールドタイプやその他の設定を再定義する必要があります。
データソースからアプリケーションスキーマを作成:この方法は、RDS や MaxCompute などのソースからデータを同期するのに最適です。ソーステーブルスキーマから初期アプリケーションスキーマをすばやく作成し、手作業を省き、エラーのリスクを低減します。このセクションでは RDS を例として使用します。他のデータソースのプロセスも同様です。詳細については、「データソースの設定」をご参照ください。
[データソースから作成] タブを選択します。右側に表示される [データソースの選択] パネルで RDS を選択し、[+ 新しいデータベース接続] をクリックします。
[データベースへの接続] ダイアログボックスで、RDS インスタンス ID、データベース名、ユーザー名、パスワード を入力し、[接続] をクリックします。
手動でアプリケーションスキーマを作成:他の選択肢がシナリオに適さない場合、この方法を使用します。
[手動で作成] ページで、テーブル名 (例:
main) を入力し、[プライマリーテーブル] を選択します。フィールド定義エリアで、フィールド名 (例:idおよびname) を設定し、いずれかのフィールドで プライマリーキー のラジオボタンを選択し、各フィールドのタイプ (INT や LITERAL など) を選択します。選択したフィールドタイプは、後でインデックスフィールドと属性フィールドの設定方法に影響します。[+] をクリックしてフィールドを追加します。
インデックススキーマの定義
query句で使用されるフィールドに対して インデックス を作成します。浮動小数点型のフィールドはインデックスとして作成できません。詳細については、「OpenSearch テーブルスキーマ」をご参照ください。filter句、sort句、または関数で使用されるフィールドに対して 属性フィールド を作成します。TEXT や SHORT_TEXT などのトークン化されたフィールドタイプは、属性フィールド として設定できません。int、int_array、float、float_array、double、double_array、literal、literal_array などの数値型およびトークン化されていないフィールドタイプのみが 属性フィールド として設定できます。
[インデックススキーマ] のステップでは、3 つのセクションを設定します。[インデックスフィールド] では、インデックス名、含まれるフィールド、分析メソッド (例: 中国語 - 一般分析 や キーワード) を設定します (例:
query=default:"cloud search")。[属性フィールド] では、フィールドをfilter句、aggregate句、sort句、distinct句で使用できるようにします (例:filter=id>100000)。[デフォルト表示フィールド] では、これらのフィールドの値が検索結果で返されるようにします。設定が完了したら、[次へ] をクリックしてデータソースを設定します。
データソースの同期
データソースを関連付けます。関連付けたら、データテーブルを選択し、[>>] をクリックして追加し、選択を確定します。
確定後、フィールドマッピングページが表示されます。[データを追加] を選択します。OpenSearch は、同じ名前のソースフィールドをアプリケーションフィールドに自動的にマッピングします。名前が異なるフィールドは手動でマッピングします。
フィールドマッピングページでは、データソースプラグインも設定できます。詳細については、「データソースプラグインのドキュメント」をご参照ください。
説明リアルタイムデータ同期については、「DTS リアルタイム同期」をご参照ください。
作成を完了します。
ステップ 3:検索のテスト
データがアップロードされた後、検索機能をテストできます。OpenSearch コンソールには、組み込みの [検索テスト] ページが用意されています。要件に基づいてクエリ句とパラメーターを設定してテストを実行できます (詳細については、「API の概要」と「SDK の概要」をご参照ください)。このセクションでは、検索テストページを例とします。検索設定をテストするには、句またはパラメーターの横にある [+] アイコンをクリックし、ドロップダウンリストから項目を選択し、対応する内容を入力してから [検索] をクリックします。
使用方法
左側メニューで、[機能拡張] > [検索テスト] を選択します。必須のクエリ句にクエリを入力します。
[オンラインアプリケーション] を選択します。config 句で
start:0,hit:10,format:fulljsonを設定し、[検索] をクリックして結果を表示します。さらに句やパラメーターを追加することもできます。
[+] アイコンをクリックして句を追加します。句には
filter句、sort句、distinct句、aggregate句、kvpairs句、またはconfig句を選択できます。[パラメーター] の横にある [+] アイコンをクリックしてパラメーターを追加します。パラメーターには、表示フィールド (
fetch_fields)、クエリ分析 (qp)、first_rank_name(粗粒度ソート式)、second_rank_name(細粒度ソート式)、細粒度ソートプラグインタイプ (second_rank_type)、サマリー設定 (summary)、カテゴリ予測 (category_prediction)、オリジナルクエリ (raw_query)、再検索ポリシー (re_search)、ビジネス情報 (biz)、検索リクエスト ID (from_request_id)、ユーザー ID (user_id)、A/B テスト (abtest)、無効化 (disable)、カスタムパラメーター (custom) があります。
追加情報
句
query 句:詳細については、「query 句」のドキュメントをご参照ください。
filter 句:詳細については、「filter 句」のドキュメントをご参照ください。
sort 句:詳細については、「sort 句」のドキュメントをご参照ください。
distinct 句:詳細については、「distinct 句」のドキュメントをご参照ください。
aggregate 句:詳細については、「aggregate 句」のドキュメントをご参照ください。
kvpairs 句:詳細については、「kvpairs 句」のドキュメントをご参照ください。
config 句:詳細については、「config 句」のドキュメントをご参照ください。
パラメーター
表示フィールド (fetch_fields):結果で返すフィールドを指定します。複数のフィールド名はセミコロン (;) で区切ります。
クエリ分析 (qp):クエリ分析ルールの名前を指定します。
first_rank_name (粗粒度ソート式):粗粒度ソート式の名前を指定します。
second_rank_name (細粒度ソート式):細粒度ソート式の名前を指定します。
サマリー設定 (summary):検索結果のサマリーを設定します。詳細については、「検索結果サマリー」をご参照ください。
カテゴリ予測とオリジナルクエリ:カテゴリ予測名とクエリ用語を指定します。
再検索ポリシー (re_search):再検索ポリシーを定義します。詳細については、「検索処理」をご参照ください。
ビジネス情報 (biz) とユーザー ID については、「検索処理」をご参照ください。
A/B テスト:A/B テストの名前を指定します。
無効化 (disable):指定した機能を無効にします。例:disable=qp。
高度な機能の詳細については、関連する製品ドキュメントをご参照ください。