ProximaScore は、カスタム Cava スコアラー内で、ドキュメントとベクターインデックスとの近接度を計算します。ランキングロジックの一部としてベクターの類似度が必要な場合に使用します。
コンストラクター
| シグネチャ | 説明 |
|---|---|
ProximaScore create(OpsScorerInitParams params, CString indexName) | ProximaScore オブジェクトを作成します。 |
メソッド
| シグネチャ | 説明 |
|---|---|
double evaluate(OpsScoreParams params) | 現在のドキュメントとベクターインデックスとの近接度を計算します。 |
コンストラクターの詳細
ProximaScore create(OpsScorerInitParams params, CString indexName)
特定のベクターインデックスにバインドされた ProximaScore インスタンスを作成するファクトリ関数です。
パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
params | OpsScorerInitParams | フレームワークによって渡される初期化パラメーターです。詳細については、「OpsScorerInitParams」をご参照ください。 |
indexName | CString | スコア計算の対象となるベクターインデックスの名前です。このインデックスは、現在の検索クエリに関与している必要があります。 |
メソッドの詳細
double evaluate(OpsScoreParams params)
現在のドキュメントと、インスタンス作成時に指定されたベクターインデックスとの近接度を計算します。
パラメーター
| パラメーター | 型 | 説明 |
|---|---|---|
params | OpsScoreParams | フレームワークによって渡されるスコア計算パラメーターです。詳細については、「OpsScoreParams」をご参照ください。 |
戻り値
ドキュメントと指定されたベクターインデックスとの近接度を表す double 値です。
例
次の例では、ProximaScore を使用してベクターの類似度に基づいてドキュメントをランク付けするカスタムスコアラーを定義します。
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsRequest;
import com.aliyun.opensearch.cava.framework.OpsDoc;
import com.aliyun.opensearch.cava.features.similarity.ProximaScore;
class BasicSimilarityScorer {
ProximaScore _f1;
boolean init(OpsScorerInitParams params) {
_f1 = ProximaScore.create(params, "vector_index");
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
float s1 = _f1.evaluate(params);
return s1;
}
};次のステップ
OpsScorerInitParams - 初期化パラメーターのリファレンス
OpsScoreParams - スコア計算パラメーターのリファレンス