概要
OpsRequest クラスは、クエリリクエストを定義するために使用されます。このクラスを使用すると、クエリリクエストから情報を取得できます。OpsRequest クラスは、OpsKvPairs getKVPairs() 関数のみをサポートしており、これにより OpsKvPairs オブジェクトを取得できます。クエリ内の kvpairs 句でカスタムパラメータが定義されている場合、OpsRequest クラスを使用して、スコア計算中にカスタムパラメータを取得できます。スコア計算オブジェクトのスコア計算中ではなく、初期化中に OpsRequest クラスを使用してカスタムパラメータを取得することをお勧めします。スコア関数は、スコア計算に関係する各ドキュメントに対して呼び出されます。スコア計算中にカスタムリクエストパラメータを取得すると、計算コストが増加します。
関数
関数 | 説明 |
|---|---|
OpsKvPairs getKVPairs() | すべてのキーと値のペアを取得します。 |
関数の詳細
OpsKvPairs getKVPairs()
すべてのカスタムパラメータをキーと値のペアの形式で取得します。OpsKvPairs クラスの詳細については、OpsKvPairs を参照してください。サンプルコード:
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.OpsKvPairs;
class BasicSimilarityScorer {
long flag;
boolean init(OpsScorerInitParams params) {
OpsRequest request = params.getRequest();
OpsKvPairs kvparis = request.getKVPairs();
flag = kvpairs.getLong("flag"); // kvpairs 句からキーが flag であるカスタムパラメータの値を取得し、その値を LONG 値に変換します。
return true;
}
double score(OpsScoreParams params) {
if (flag == 1) {
//do something
}
return 0.0;
}
}