このトピックでは、OpenSearch を使用してアプリケーションを構築し、効率的な検索サービスをデプロイする方法について説明します。
前提条件
Alibaba Cloud アカウント が作成されており、実名登録 が完了していること。
初めて新しい Alibaba Cloud アカウントを使用して OpenSearch コンソールにログインする前に、AccessKey ペアが作成されていること。
OpenSearch アプリケーションは AccessKey ペアに基づいて作成および使用されるため、Alibaba Cloud アカウント内で AccessKey ペアを指定する必要があります。
Alibaba Cloud アカウント内で AccessKey ペアを作成した後、RAM ユーザーの AccessKey ペアを作成できます。このようにして、RAM ユーザーとしてアプリケーションにアクセスできます。 RAM ユーザーに権限を付与する方法の詳細については、「アクセス認証ルール」をご参照ください。
アプリケーションの作成
手順:
アプリケーションインスタンスを購入して作成します。
アプリケーションスキーマとインデックススキーマを定義し、データソースを構成します。
検索テストを実行します。
検索アルゴリズムセンターと拡張機能を使用します。たとえば、検索アルゴリズムセンターでソートを構成できます。
1. アプリケーションインスタンスの購入
OpenSearch コンソール にログインします。左上隅で、OpenSearch エディションが表示されている場所にポインターを移動し、OpenSearch 高性能検索エディションを選択します。左側のナビゲーションウィンドウで、[インスタンス管理] をクリックします。表示されるページで、[インスタンスの作成] をクリックします。
OpenSearch は、サブスクリプションと従量課金のアプリケーションインスタンスをサポートしています。
2. アプリケーションインスタンスの構成
購入したアプリケーションインスタンスが初期化されると、保留中 状態になります。インスタンスを構成するには、[アクション] 列の [構成] をクリックします。
2.1 アプリケーションスキーマの定義
次のいずれかの方法を使用して、アプリケーションスキーマを定義できます。
方法 1:アプリケーションスキーマを定義するためのテンプレートを使用する。作成したアプリケーションスキーマをテンプレートとして保存できます。その後、テンプレートを使用して新しいアプリケーションスキーマを定義できます。
方法 2:データファイルを使用してアプリケーションスキーマを定義する。データファイルを OpenSearch コンソールにアップロードできます。その後、OpenSearch はアップロードされたデータファイルを解析し、初期アプリケーションスキーマを生成します。注:データファイルは JSON 形式である必要があります。初期アプリケーションスキーマが生成された後、フィールドタイプなどの特定の属性を再定義する必要があります。
方法 3:データソースを使用してアプリケーションスキーマを定義するデータソースを構成する。 ApsaraDB RDS や MaxCompute データソースなどのデータソースからデータを同期する場合に、この方法を使用できます。ソーステーブルのスキーマを使用して、初期アプリケーションスキーマを生成できます。これにより、手動定義のワークロードが削減され、エラーの可能性が減少します。さまざまなデータソースへの接続手順は似ています。この例では、ApsaraDB RDS データソースが使用されています。詳細については、「」をご参照ください。
方法 4:アプリケーション スキーマを手動で定義する。
2.2 インデックススキーマの定義
クエリ句で使用されるフィールドは、インデックス フィールドアプリケーション スキーマ として構成する必要があります。 FLOAT タイプのフィールドは、インデックスフィールドとして構成できません。詳細については、「」をご参照ください。
フィルター句とソート句で使用されるフィールド、および関数で属性として明示的に指定されているフィールドは、属性フィールドとして構成する必要があります。
TEXT や SHORT_TEXT などのテキストタイプのフィールドを使用して属性フィールドを構成することはできません。 INT、INT_ARRAY、FLOAT、FLOAT_ARRAY、DOUBLE、DOUBLE_ARRAY、LITERAL、LITERAL_ARRAY などの数値タイプまたはテキスト以外のタイプのフィールドのみを使用して属性フィールドを構成できます。
2.3 データソースの構成
データソースに接続します。次に、接続されたデータソースから 1 つ以上のテーブルを選択し、右向き矢印(>>)をクリックします。
[OK] をクリックします。次に、フィールドマッピングを構成できます。
フィールドマッピングを構成するときに、データ処理用のプラグインを設定できます。データ処理用のプラグインの使用方法の詳細については、「データ処理プラグイン」をご参照ください。
リアルタイムデータ同期の詳細については、「DTS リアルタイム同期の構成」をご参照ください。
2.4 構成の完了
3. 検索テストの実行
データがアップロードされた後、データの検索を開始できます。 OpenSearch コンソールは、検索テストを実行するための [検索テスト] 機能を提供します。ビジネス要件に基づいてデータ検索の句とパラメーターを設定できます。次の手順は、[検索テスト] 機能の使用方法を示しています。その他の検索方法の詳細については、「API の概要」と「SDK の概要」をご参照ください。 [検索テスト] ページで検索テストを実行するには、[句] または [パラメーター] の横にあるプラスアイコンにポインターを移動し、使用する句またはパラメーターを選択し、指定された句またはパラメーターを入力して、[検索] をクリックします。
手順:
1. OpenSearch コンソールに移動します。左上隅で、OpenSearch エディションが表示されている場所にポインターを移動し、OpenSearch 高性能検索エディションを選択します。左側のナビゲーションウィンドウで、[機能拡張]>[検索テスト] を選択します。 [検索テスト] ページで、[クエリ] パラメーターのクエリ句を指定します。このパラメーターは必須です。
2. 必要に応じて、句またはパラメーターを追加します。
句の説明
パラメーターの説明
表示フィールド - fetch_fields: 表示するフィールド。複数のフィールドはセミコロン(;)で区切ります。
クエリアナライザ - qp: クエリアナライザの名前。
基本ソート式 - first_rank_name: 基本ソートの名前。
高度ソート式 - second_rank_name: 高度ソートの名前。
検索結果サマリー構成 - summary: 詳細については、「検索結果サマリー」をご参照ください。
カテゴリ予測 - category_prediction と 元の検索クエリ - raw_query: クエリワードとカテゴリ予測の名前。
新規検索ポリシー - re_search: 詳細については、「検索リクエストの開始」をご参照ください。
ビジネス情報 - biz: ユーザー ID。詳細については、「検索リクエストの開始」をご参照ください。
A/B テスト - abtest: A/B テストの名前。
無効化フィールド - disable: 無効にする 1 つ以上のフィールド。例:disable = qp。
拡張機能の使用方法の詳細については、各機能のトピックをご参照ください。