概要
上位検索とヒントは、完全な検索エンジンの必須機能です。多くの場合、検索ボックス内またはその近くの目立つ場所に表示され、不可欠なビジネス価値を提供します。
検索エンジンでは、検索プロセスの最初のステップで上位検索とヒントがユーザーに提供されます。優れた上位検索とヒントは、クエリ分析、ソート、運用介入などのステップの最適化における困難を軽減することにより、検索の最適化を促進します。さらに、上位検索とヒントは、ビジネス目標を達成するための運用戦略と共に使用できます。
ユーザーの観点からは、上位検索とヒントは次の要件を満たすことができます。
何を検索すればよいかわからないユーザーは、推奨される高品質のクエリを確認できます。
ユーザーは、誰もが何を検索しているかを知ることができます。
ユーザーは、自分の興味に基づいて推奨される多様なクエリを求めています。このようにして、これらのユーザーは自分が興味を持っているものを検索し、興味を超えたコンテンツを探索できます。
運用者の観点からは、上位検索とヒントは次のビジネス価値を提供できます。
運用者は、最も検索されたクエリを取得できます。人気のクエリは、ユーザーの興味を示しています。運用者は人気のクエリを分析して、興味の傾向を把握し、運用戦略を策定できます。
運用者は、検索候補を使用して、ユーザーが検索ボックスに何かを入力したときの意図を導くことができます。何も入力していないユーザーに対しては、運用者は上位検索とヒントを使用して、これらのユーザーに高品質のクエリを推奨できます。
上位検索とヒントにより、最もホットなクエリだけでなく、多様なクエリがユーザーに推奨されます。これにより、ユーザーエクスペリエンスが確保され、最もホットなクエリではないが人気のクエリがユーザーに表示される可能性が高まります。
運用者は、ユーザーの行動を分析して、プリファレンスに基づいてクエリを推奨できます。これにより、ユーザーエクスペリエンスと推奨の精度が向上します。
コンソールのトップ検索リストとトップ検索推奨インターフェースには、次の違いがあります。
トップ検索推奨インターフェースは、過去 14 日以内のクエリの統計のみを収集します。
トップ検索推奨インターフェースは、raw_query パラメーターを使用して実行されたクエリの統計のみを収集します。コンソールのトップ検索リストは、raw_query パラメーターを使用して実行されたクエリだけでなく、デフォルトのインデックスを使用して実行されたクエリの統計も収集します。
トップ検索推奨インターフェースは、検索結果のないクエリを除外します。コンソールのトップ検索リストは、そのようなクエリを除外しません。
使用上の注意
システムは、過去の検索リクエストで raw_query としてラベル付けされたクエリを使用して、上位検索モデルとヒントモデルをトレーニングします。過去の検索リクエストに raw_query としてラベル付けされたクエリが含まれていない場合、モデルの作成に失敗する可能性があります。
独立したクエリ:トレーニング基準と昇格基準の raw_query パラメーターは、検索リクエストに含める必要があるパラメーターです。その値は、取得結果があり、繰り返されない独立したクエリである必要があります。
最大 3 つのトップ検索モデルまたはヒントモデルを作成できます。
デフォルトでは、トップ検索リストには最大 10,000 件のエントリが表示されます。ビジネス要件に基づいて、トップ検索リストの最大エントリ数を指定できます。最小エントリ数は 100 です。
モデルは、特定のアルゴリズムに基づいて検索ログから収集された統計のみに依存します。他のトレーニング目標はサポートされていません。したがって、モデルは 1 回だけ作成する必要があります。
システムがモデル作成リクエストを受信すると、システムはすぐにモデルのトレーニングを開始します。
モデルが作成されると、システムは毎日自動的にモデルを再トレーニングし、人間の介入は必要ありません。
モデルが作成およびトレーニングされると、過去半年間の期間の上位検索とヒントをクエリできます。デフォルトでは、過去 14 日間のデータが返されます。
上位検索モデルまたはヒントモデルを作成する
API または SDK を使用して上位検索モデルまたはヒントモデルを作成する
管理および制御 SDK の依存関係
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-opensearch</artifactId>
<version>0.7.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>Java 用 SDK のデモ
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.opensearch.model.v20171225.*;
import com.aliyuncs.profile.DefaultProfile;
public class CreateModel {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "<accessKeyId>", "<accessSecret>");
IAcsClient client = new DefaultAcsClient(profile);
CreateModelRequest request = new CreateModelRequest();
request.setAppGroupIdentity("app_name");
// type パラメーターはモデルタイプを指定します。値 hot は上位検索モデルを示します。値 hint はヒントモデルを示します。 modelName パラメーターはモデル名を指定します。数字、文字、およびアンダースコア(_)で構成されるカスタム名を入力できます。名前は数字のみを含めることはできず、最大 30 文字の長さにすることができます。
String content = "{\"type\": \"hot\",\"name\": \"model_name\"}";
request.setHttpContent(content.getBytes(), "UTF-8", FormatType.JSON);
try {
HttpResponse response = client.doAction(request);
System.out.println(response.getHttpContentString());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}OpenSearch コンソールで上位検索モデルまたはヒントモデルを作成する
1. OpenSearch コンソールにログオンします。左側のナビゲーションウィンドウで、[検索アルゴリズムセンター] > [検索ガイダンス] を選択します。[検索ガイダンス] ページで、左側のウィンドウの [上位検索とヒント] をクリックします。[上位検索とヒント] ページで、作成 をクリックして上位検索モデルまたはヒントモデルを作成します。

2. [モデル名] パラメーターと [フィルター条件] パラメーターを構成し、[モデルタイプ] として [上位検索モデル] または [ヒントモデル] を選択します。 フィルター条件パラメーターはオプションです。

パラメーター | 説明 |
フィルター条件 | 検索リクエストのフィルター条件を指定します。このフィルター条件は、過去の検索クエリをフィルターするために使用されます。フィルター条件は、[リクエストパラメーター][条件演算子][値] の形式である必要があります。 biz_type パラメーターと user_id パラメーターのみがサポートされています。次の条件演算子がサポートされています:<、>、<=、>=、=、および != 。複数のフィルター条件を設定する場合は、条件をコンマ(,)で区切ります。この場合、すべての条件は AND 論理演算に基づいて同時に有効になります。OR 論理演算はサポートされていません。たとえば、user_id=1,biz_type=1 を指定した場合、2 つの条件の両方を満たす検索クエリのみを使用できます。検索リクエストパラメーターの詳細については、「検索リクエストを開始する」をご参照ください。 |
3. [上位検索とヒント] ページで、[トレーニング待機中] 状態の作成済みモデルを見つけ、[操作] 列の [トレーニング] をクリックします。
4. トレーニングが完了したら、上位検索またはヒントの効果をプレビューします。
上位検索の効果をプレビューする
ヒントの効果をプレビューする
使用上の注意
上位検索の効果をプレビューすると、[効果のプレビュー] [ダイアログボックス] に、ページごとに返される推奨上位検索が 10 件表示されます。最大 20 ページの推奨上位検索を表示できます。
ヒントの効果をプレビューすると、[効果のプレビュー] [ダイアログボックス] に、ページごとに返されるヒントが 1 つ表示されます。最大 30 件の推奨ヒントを表示できます。
[上位検索とヒント] ページの概要
上位検索モデルまたはヒントモデルのリスト
[上位検索とヒント] ページでは、モデルリストの各モデルに関する次の情報を表示できます。モデル名、モデルタイプ、作成時刻、モデルステータス、最後のトレーニングの開始時刻、最新バージョンのステータス。[操作] 列のモデルに対してさまざまな操作を実行できます。ビジネス要件に基づいて、モデルをデフォルトモデルとして指定できます。パラメーターでモデル名が指定されていない場合は、デフォルトモデルが使用されます。

上位検索モデルまたはヒントモデルの詳細ページ
[基本情報] セクションでは、作成時刻、モデルステータス、最後のトレーニングの開始時刻、最新バージョンのステータスなど、上位検索モデルまたはヒントモデルに関する基本情報を表示できます。[トレーニング履歴] セクションでは、各履歴トレーニングレコードに関する次の情報を表示できます。モデルバージョン、バージョンステータス、トレーニング開始時刻、トレーニング終了時刻。モデルトレーニングは成功または失敗する可能性があります。
失敗したトレーニングのトラブルシューティング
モデルの詳細ページで、ポインターを [例外レポート] に合わせて、トレーニングが失敗した原因を表示し、ポインターを [整合性レベルのアップグレードの条件を表示] に合わせて、整合性レベルのアップグレードの条件を表示します。

カスタム設定
ブラックリストとホワイトリストの構成:ビジネス要件に基づいて、モデルのブラックリストとホワイトリストを構成できます。ブラックリストとホワイトリストを構成するには、モデルの詳細ページの [構成情報] セクションで [構成] をクリックします。詳細については、「ブラックリストとホワイトリスト」をご参照ください。

API または SDK を使用して上位検索とヒントを取得する
上位検索とヒント機能がプロダクトに統合されると、API 操作を呼び出すか SDK を使用して、推奨される上位検索とヒントを取得できます。API 操作の詳細については、API ドキュメント をご参照ください。SDK の使用方法の詳細については、次の SDK デモコードをご参照ください。
デフォルトでは、10 件の上位検索と 3 件のヒントが返されます。ヒントは検索ボックスに順番に表示できます。
使用上の注意
モデルのトレーニングタスクのステータスを取得するための API 操作は提供されていません。API 操作を呼び出すか SDK を使用して、結果が利用可能かどうかを確認する必要があります。
モデルが作成されると、システムは毎日自動的にモデルトレーニングタスクを実行します。API 操作を呼び出すか SDK を使用して、更新された上位検索とヒントを取得できます。
SDK を使用して上位検索とヒントを取得するための API 操作を呼び出す場合、上位検索の場合は hit パラメーターを最大 30 に、ヒントの場合は最大 10 に設定できます。 hit パラメーターは、取得する上位検索またはヒントの数を指定します。
ホットワードのランキングを取得するには、ListStatisticLogs 操作を呼び出します。
トラフィック SDK の依存関係
<dependency>
<groupId>com.aliyun.opensearch</groupId>
<artifactId>aliyun-sdk-opensearch</artifactId>
<version>3.5.0</version>
</dependency>Java 用 SDK のデモ
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;
public class Hot {
private static final String accesskey = "Your AccessKey ID"; // AccessKey ID を入力します
private static final String secret = "Your AccessKey secret"; // AccessKey シークレットを入力します
private static final String host = "The endpoint of the OpenSearch API, such as http://opensearch-cn-hangzhou.aliyuncs.com"; // OpenSearch API のエンドポイント。例: http://opensearch-cn-hangzhou.aliyuncs.com
private static final String appName = "The name of your OpenSearch application"; // OpenSearch アプリケーションの名前
private static final String HOT_API_PATH = "/apps/{app_name}/actions/hot";
public static void main(String[] args) {
OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
// OpenSearchClient を作成する
OpenSearchClient client = new OpenSearchClient(openSearch);
String requestPath = HOT_API_PATH.replaceAll(("\\{app_name\\}"), appName);
Map<String, String> params = new HashMap<>();
params.put("model_name", "your_model_name");// モデル名を指定します。
params.put("hit", "20");// 取得する上位検索の数を指定します。
try {
String response = client.call(requestPath, params, OpenSearchClient.METHOD_GET);
System.out.println(JSON.toJSONString(response));
} catch (OpenSearchClientException e) {
e.printStackTrace();
}
}
}モデルの最適化
ユーザー行動データ
検索ログから収集された統計に基づいて生成される上位検索とヒントは、上位検索とヒント機能の初期使用時の要件を満たすことができます。機能が使用された後、ユーザー行動データを上位検索とヒントに関連付けることをお勧めします。システムは、from_request_id パラメーターと user_id パラメーターを含むユーザー行動データを収集します。ユーザー行動データを使用して、モデルをさらに最適化できます。ユーザー行動データには次の利点があります。
上位検索とヒントによってガイドされる検索のページビュー(PV)、ユニークビジター(UV)、ゼロ結果率など、さまざまなメトリックを取得できます。これらのメトリックを使用すると、上位検索とヒント機能を評価し、機能を向上させることができます。
ユーザーグループの興味の傾向を分析し、その傾向に基づいて運用戦略を策定できます。
クエリをスマートな方法で推奨できます。ユーザーのクリック行動に基づいてデータをマークした後、さまざまな最適化目標に合わせてモデルをトレーニングできます。デフォルトでは、モデルはクリック率に基づいて最適化されます。次に、汎化能力の高いモデルによって生成されたクエリを推奨できます。
上位検索とヒントによってガイドされる検索トラフィック
API 操作を呼び出すか SDK を使用して上位検索またはヒントを取得すると、システムは ID を含む request_id パラメーターを返します。ID はリクエストを一意に識別します。ユーザーがプロダクトの上位検索またはヒントをクリックすると、システムは上位検索またはヒントに基づいて検索リクエストを開始します。システムが検索リクエストの from_request_id パラメーターを request_id パラメーターの値に設定することを許可できます。このようにして、ユーザーのクリック行動は上位検索とヒントに関連付けられます。システムが検索ログとユーザー行動データから統計を収集した後、ビジネス運用レポートで上位検索とヒントによってガイドされる検索トラフィックのメトリックを表示できます。 user_id パラメーターが検索リクエストで構成されている場合は、ビジネス運用レポートで上位検索とヒントによってガイドされる検索トラフィックの UV メトリックも表示できます。
使用上の注意
検索後のページめくりリクエストも独立した PV と見なされます。したがって、from_request_id パラメーターは、上位検索またはヒントによってガイドされる検索に続くページめくりリクエストにも設定する必要があります。
検索リクエストのパラメーターの詳細については、「from_request_id」と「user_id」をご参照ください。
ビジネス運用レポート
OpenSearch コンソールでビジネス運用レポートを表示する
上位検索のビジネス運用レポート
OpenSearch コンソールにログオンします。左側のナビゲーションウィンドウで、[レポート統計] > [上位検索レポート] を選択して、上位検索のビジネス運用レポートを表示します。

ヒントのビジネス運用レポート
OpenSearch コンソールにログオンします。左側のナビゲーションウィンドウで、[レポート統計] > [ヒントレポート] を選択して、ヒントのビジネス運用レポートを表示します。

使用上の注意