OpenSearch のアルゴリズム機能 を検索リクエスト で使用するには、必要なカスタムパラメーター を SDK for Java 経由で渡します。このページでは、各アルゴリズムモジュール のパラメーター を一覧表示し、コードでの設定方法を示します。
すべてのコード例は擬似コードです。
クエリ分析
クエリ分析はテキストのベクトル化と固有表現抽出 (NER) を実現します。
| パラメーター | 必須 | 説明 |
|---|---|---|
raw_query | はい | 元の検索クエリ文字列。テキストベクトル化モデル および NERモデル で使用されます。 |

...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'OpenSearch'");
// raw_query パラメーターを設定します。
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "OpenSearch");
searchParams.setCustomParam(customParam);
// クエリを実行し、結果を SearchResult オブジェクトとして返します。
SearchResult execute = searcherClient.execute(searchParams);
...カテゴリ予測
カテゴリ予測 は、raw_query を使用して、カテゴリ予測モデル などのアルゴリズムモデル をトレーニングします。
| パラメーター | 必須 | 説明 |
|---|---|---|
raw_query | はい | 元の検索クエリ文字列。カテゴリ予測モデル をトレーニングするために使用されます。 |

...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'Apple'");
// raw_query パラメーターを設定します。
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "Apple");
searchParams.setCustomParam(customParam);
// クエリを実行し、結果を SearchResult オブジェクトとして返します。
SearchResult execute = searcherClient.execute(searchParams);
...検索候補
3つのパラメーター が検索候補 の動作 を制御します。有効にしたい機能 に応じて、これらを組み合わせて渡します。
| パラメーター | 必須 | 説明 |
|---|---|---|
raw_query | はい | 元の検索クエリ文字列。検索候補 で高頻度クエリ を有効にします。 |
from_request_id | いいえ | 前の検索 からのリクエスト ID。検索候補 のランキングモデル を最適化し、検索候補ガイド付き検索メトリック のトラッキング を有効にします。 |
user_id | いいえ | ユーザー識別子。raw_query および from_request_id と一緒に渡すと、インテリジェントソート を有効にできます。検索候補リクエスト (SuggestParams 経由) で渡すと、検索履歴 を有効にできます。 |
インテリジェントソート — 検索リクエスト で raw_query、user_id、および from_request_id を渡します。

...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'Apple'");
// raw_query、user_id、および from_request_id を設定して、インテリジェントソート を有効にします。
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "Apple");
customParam.put("user_id", "12345");
customParam.put("from_request_id", "159851481919726888064081");
searchParams.setCustomParam(customParam);
// クエリを実行し、結果を SearchResult オブジェクトとして返します。
SearchResult execute = searcherClient.execute(searchParams);
...検索履歴 — 検索リクエスト で raw_query を渡し、検索候補リクエスト で user_id を渡します。
...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'Apple'");
// 検索リクエスト で raw_query を設定します。
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "Apple");
searchParams.setCustomParam(customParam);
// クエリを実行し、結果を SearchResult オブジェクトとして返します。
SearchResult execute = searcherClient.execute(searchParams);
...
// 検索候補リクエスト で user_id を設定して、検索履歴 を有効にします。
SuggestParams suggestParams = new SuggestParams();
suggestParams.setUserId("12345");トレンドとヒントワード
トレンド とヒントワード は、raw_query を使用して、トレンドモデル および ヒントワードモデル などのアルゴリズムモデル をトレーニングします。from_request_id および user_id を渡して、ランキング を改善し、ガイダンスメトリック を収集します。
| パラメーター | 必須 | 説明 |
|---|---|---|
raw_query | はい | 元の検索クエリ文字列。トレンドモデル および ヒントワードモデル をトレーニングするために使用されます。 |
from_request_id | いいえ | 前の検索 からのリクエスト ID。トレンド とヒントワード のランキング を改善し、ホット検索 および ヒントワードガイド付き検索メトリック のトラッキング を有効にします。 |
user_id | いいえ | ユーザー識別子。from_request_id と一緒に渡すと、ホット検索 および ヒントワードガイド付き検索メトリック のトラッキング を有効にできます。 |

...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'Apple'");
// raw_query、user_id、および from_request_id を設定します。
Map<String, String> customParam = new HashMap<>();
customParam.put("raw_query", "Apple");
customParam.put("user_id", "12345");
customParam.put("from_request_id", "160851481919726888064913");
searchParams.setCustomParam(customParam);
// クエリを実行し、結果を SearchResult オブジェクトとして返します。
SearchResult execute = searcherClient.execute(searchParams);
...Cavaベースのプラグイン
Cavaベースのプラグイン は、Cavaスクリプト を使用してカスタムの第2フェーズランキングポリシー を適用します。Rank オブジェクト に、スクリプト名 とソートタイプ の2つの値を設定します。
| パラメーター | 必須 | 説明 |
|---|---|---|
| Cavaスクリプト名 | はい | 第2フェーズランキング のために呼び出す Cavaスクリプト の名前。setSecondRankName 経由で設定します。 |
| ソートタイプ | はい | ランキング方法。RankType.CAVA_SCRIPT に設定して、Cavaスクリプトベースのランキング を使用します。setSecondRankType 経由で設定します。 |

...
// SearchParams オブジェクトを作成します。
SearchParams searchParams = new SearchParams(config);
...
// Rank オブジェクトを作成し、Cavaスクリプトベースのランキング を設定します。
Rank rank = new Rank();
rank.setSecondRankName("test_cava");
rank.setSecondRankType(RankType.CAVA_SCRIPT);
// ランキングポリシー を検索リクエスト に適用します。
searchParams.setRank(rank);