OpsDoc は、スコア計算中にソートプラグインがドキュメントフィールドと変数にアクセスできるようにする Cava フレームワークのクラスです。システムは OpsDoc オブジェクトを自動的に作成します。ソートプラグインの init または score 関数で params.getDoc() を呼び出して取得します。
機能:
現在のドキュメントから属性フィールド値 (スカラー型および配列型) を読み取ります
複数のプラグイン間で変数を宣言および交換します
スコアロジックのデバッグ用に[検索テスト] ページでトレースを出力する
OpsDoc は、OpenSearch コンソールで設定され、init 関数で requireAttribute を介して宣言された属性フィールドのみを読み取ることができます。初期化中に宣言されていないフィールドは、スコアリング時に正しく取得できません。
関数
フィールドアクセス
| シグネチャ | フィールドタイプ | 戻り値 |
|---|---|---|
boolean requireAttribute(CString fieldName) | — | true、それ以外の場合は false |
long docFieldLong(CString fieldName) | INT | long |
float docFieldFloat(CString fieldName) | FLOAT | float |
double docFieldDouble(CString fieldName) | DOUBLE | double |
CString docFieldLiteral(CString fieldName) | LITERAL | CString |
long[] docFieldLongArray(CString fieldName) | INT_ARRAY | long[]、失敗した場合は null |
float[] docFieldFloatArray(CString fieldName) | FLOAT_ARRAY | float[]、失敗した場合は null |
double[] docFieldDoubleArray(CString fieldName) | DOUBLE_ARRAY | double[]、失敗した場合は null |
CString[] docFieldLiteralArray(CString fieldName) | LITERAL_ARRAY | CString[]、失敗した場合は null |
OpsGeoPoint docFieldGeoPoint(CString fieldName) | GEO_POINT | OpsGeoPoint、失敗した場合は null |
OpsTimestamp docFieldTimestamp(CString fieldName) | TIMESTAMP | OpsTimestamp、失敗した場合は null |
変数管理
| シグネチャ | フェーズ | 説明 |
|---|---|---|
boolean declareLongVariable(CString variableName, boolean needSerialize) | init のみ | LONG 型の変数を宣言します |
boolean declareDoubleVariable(CString variableName, boolean needSerialize) | init のみ | DOUBLE 型の変数を宣言します |
void setLongVariable(CString variableName, long value) | score のみ | LONG 型の変数の値を設定します |
void setDoubleVariable(CString variableName, long value) | score のみ | DOUBLE 型の変数の値を設定します |
long getLongVariable(CString variableName) | score のみ | LONG 型の変数の値を取得します |
double getDoubleVariable(CString variableName) | score のみ | DOUBLE 型の変数の値を取得します |
トレース
すべての trace オーバーロードは、単一値フォームとプレフィックス付きフォームの両方で利用できます。詳細と制約については、「トレース関数」をご参照ください。
| シグネチャ |
|---|
void trace(byte value) |
void trace(CString prefix, byte value) |
void trace(short value) |
void trace(CString prefix, short value) |
void trace(int value) |
void trace(CString prefix, int value) |
void trace(long value) |
void trace(CString prefix, long value) |
void trace(float value) |
void trace(CString prefix, float value) |
void trace(double value) |
void trace(CString prefix, double value) |
void trace(CString value) |
void trace(CString prefix, CString value) |
関数の詳細
requireAttribute
boolean requireAttribute(CString fieldName)スコア計算中に使用する属性フィールドを宣言します。これを init 関数で呼び出します。ここで宣言されていないフィールドは、score 関数で正しく読み取ることはできません。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: 宣言に成功した場合は true。ほとんどの場合、false は、フィールドが OpenSearch コンソールで属性フィールドとして設定されていないことを意味します。
requireAttributeは初期化 (init) 中にのみ呼び出すことができます。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("count");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
long count = doc.docFieldLong("count");
return (double)count;
}
}docFieldLong
long docFieldLong(CString fieldName)INT 型の属性フィールドの値を取得し、long として返します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を long として返します。
フィールドが FLOAT 型または DOUBLE 型の場合、値は最も近い整数に四捨五入されます。フィールドが LITERAL 型または ARRAY 型の場合、0 が返されます。例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("count");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
long count = doc.docFieldLong("count");
return (double)count;
}
}docFieldFloat
float docFieldFloat(CString fieldName)FLOAT 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を float として返します。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("count");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
float count = doc.docFieldFloat("count");
return (double)count;
}
}docFieldDouble
double docFieldDouble(CString fieldName)DOUBLE 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を double として返します。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("count");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
double count = doc.docFieldDouble("count");
return count;
}
}docFieldLiteral
CString docFieldLiteral(CString fieldName)LITERAL 型の属性フィールドの値を取得し、CString として返します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を CString として返します。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("tag");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
CString tag = doc.docFieldLiteral("tag");
if (tag.equals("abc")) {
return 100.0;
}
return 0;
}
}docFieldLongArray
long[] docFieldLongArray(CString fieldName)INT_ARRAY 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を long[] として返します。
フィールドが存在しない場合、型を変換できない場合、またはフィールドが ARRAY 型でない場合はnullを返します。要素にアクセスする前に、必ずnullをチェックしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("tags");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
long[] tags = doc.docFieldLongArray("tags");
if (tags != null) {
if (tags.length > 0) {
return (double)tags[0];
}
}
return 0;
}
}docFieldFloatArray
float[] docFieldFloatArray(CString fieldName)FLOAT_ARRAY 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を float[] として返します。
フィールドが存在しない場合、型を変換できない場合、またはフィールドが ARRAY 型でない場合はnullを返します。要素にアクセスする前に、必ずnullをチェックしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("tags");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
float[] tags = doc.docFieldFloatArray("tags");
if (tags != null) {
if (tags.length > 0) {
return (double)tags[0];
}
}
return 0;
}
}docFieldDoubleArray
double[] docFieldDoubleArray(CString fieldName)DOUBLE_ARRAY 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を double[] として返します。
フィールドが存在しない場合、型を変換できない場合、またはフィールドが ARRAY 型でない場合はnullを返します。要素にアクセスする前に、必ずnullをチェックしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("tags");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
double[] tags = doc.docFieldDoubleArray("tags");
if (tags != null) {
if (tags.length > 0) {
return (double)tags[0];
}
}
return 0;
}
}docFieldLiteralArray
CString[] docFieldLiteralArray(CString fieldName)LITERAL_ARRAY 型の属性フィールドの値を取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: フィールド値を CString[] として返します。
フィールドが存在しない場合、型を変換できない場合、またはフィールドが ARRAY 型でない場合はnullを返します。要素にアクセスする前に、必ずnullをチェックしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("tags");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
CString[] tags = doc.docFieldLiteralArray("tags");
if (tags != null) {
if (tags.length > 0 && tags[0].equals("abc")) {
return 100.0;
}
}
return 0;
}
}docFieldGeoPoint
OpsGeoPoint docFieldGeoPoint(CString fieldName)GEO_POINT 型の属性フィールドの値を OpsGeoPoint オブジェクトとして取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: OpsGeoPoint オブジェクト。
フィールドが存在しない場合、またはフィールドタイプが無効な場合はnullを返します。この関数を使用する前にcom.aliyun.opensearch.cava.framework.OpsGeoPointをインポートしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
import com.aliyun.opensearch.cava.framework.OpsGeoPoint;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("location");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
OpsGeoPoint location = doc.docFieldGeoPoint("location");
double longitude = location.getLongitude();
if (longitude < 0 || longitude > 180.0) {
return 0;
}
return 1.0;
}
}docFieldTimestamp
OpsTimestamp docFieldTimestamp(CString fieldName)TIMESTAMP 型の属性フィールドの値を OpsTimestamp オブジェクトとして取得します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
fieldName | CString | 属性フィールドの名前。定数である必要があります。 |
戻り値: OpsTimestamp オブジェクト。
フィールドが存在しない場合、またはフィールドタイプが無効な場合はnullを返します。この関数を使用する前にcom.aliyun.opensearch.cava.framework.OpsTimestampをインポートしてください。
例:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
import com.aliyun.opensearch.cava.framework.OpsTimestamp;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().requireAttribute("timestamp");
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
OpsTimestamp timestamp = doc.docFieldTimestamp("timestamp");
return (double)timestamp.getValue();
}
}declareLongVariable
boolean declareLongVariable(CString variableName, boolean needSerialize)複数のプラグインで使用したり、検索結果にその値を含めたりするために、LONG 型の変数を宣言します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。定数である必要があります。 |
needSerialize | boolean | 返されるドキュメントに変数を含めるかどうか。定数である必要があります。有効な値: true、false。 |
戻り値: 宣言に成功した場合は true、それ以外の場合は false。
この関数は init でのみ呼び出してください。プラグインは最大 30 個の変数を宣言できます。この制限を超えるとエラーが返されます。例:
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.framework.OpsGeoPoint;
import com.aliyun.opensearch.cava.framework.OpsTimestamp;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().declareLongVariable("v_int64", true);
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
doc.setLongVariable("v_int64", 100);
long longValue = doc.getLongVariable("v_int64");
doc.trace("long value1: ", longValue);
return 0;
}
}declareDoubleVariable
boolean declareDoubleVariable(CString variableName, boolean needSerialize)複数のプラグインで使用したり、検索結果にその値を含めたりするために、DOUBLE 型の変数を宣言します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。定数である必要があります。 |
needSerialize | boolean | 返されるドキュメントに変数を含めるかどうか。定数である必要があります。有効な値: true、false。 |
戻り値: 宣言に成功した場合は true、それ以外の場合は false。
この関数は init でのみ呼び出してください。プラグインは最大 30 個の変数を宣言できます。この制限を超えるとエラーが返されます。例:
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.framework.OpsGeoPoint;
import com.aliyun.opensearch.cava.framework.OpsTimestamp;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return params.getDoc().declareDoubleVariable("v_double", true);
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
doc.setDoubleVariable("v_double", 100);
long doubleValue = doc.getDoubleVariable("v_double");
doc.trace("double value1: ", doubleValue);
return 0;
}
}setLongVariable
void setLongVariable(CString variableName, long value)宣言された LONG 型の変数の値を設定します。これを score 関数で呼び出します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。 |
value | long | 割り当てる値。 |
この関数を呼び出す前に、initでdeclareLongVariableを介して変数を宣言する必要があります。
setDoubleVariable
void setDoubleVariable(CString variableName, long value)宣言された DOUBLE 型の変数の値を設定します。これを score 関数で呼び出します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。 |
value | long | 割り当てる値。 |
この関数を呼び出す前に、initでdeclareDoubleVariableを介して変数を宣言する必要があります。
getLongVariable
long getLongVariable(CString variableName)宣言された LONG 型の変数の値を取得します。これを score 関数で呼び出します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。 |
戻り値: 変数の現在の値。変数が宣言されていないか、その値が設定されていない場合は 0 を返します。
getDoubleVariable
double getDoubleVariable(CString variableName)宣言された DOUBLE 型の変数の値を取得します。これを score 関数で呼び出します。
パラメーター:
| パラメーター | タイプ | 説明 |
|---|---|---|
variableName | CString | 変数の名前。 |
戻り値: 変数の現在の値。変数が宣言されていないか、その値が設定されていない場合は 0 を返します。
トレース関数
ソート式とは異なり、Cava ソートスクリプトはトレース出力を自動的に発行しません。score 関数で明示的に trace を呼び出して、デバッグ中に値を検査します。
トレース出力は [検索テスト] ページでのみ利用可能です。通常の検索リクエストはトレースをサポートしていません。各 trace 呼び出しはランタイムメモリを消費します。デバッグ時にのみ trace を使用し、本番環境にデプロイする前にトレース呼び出しを削除または最小限にしてください。
複数の変数を表示するには、変数ごとに 1 回 trace を呼び出します。OpsDoc トレース関数で使用されるパラメーターは固定されており、変更できません。
すべてのトレースオーバーロードは同じパターンに従います:
単一引数フォーム — 値を直接出力します
2引数フォーム —
prefixラベルの後に値を出力するため、複数のトレース呼び出しがアクティブな場合に出力を識別しやすくなります
サポートされている型
| タイプ | 単一引数 | 2引数 |
|---|---|---|
| BYTE | void trace(byte value) | void trace(CString prefix, byte value) |
| SHORT | void trace(short value) | void trace(CString prefix, short value) |
| INT | void trace(int value) | void trace(CString prefix, int value) |
| LONG | void trace(long value) | void trace(CString prefix, long value) |
| FLOAT | void trace(float value) | void trace(CString prefix, float value) |
| DOUBLE | void trace(double value) | void trace(CString prefix, double value) |
| CString | void trace(CString value) | void trace(CString prefix, CString value) |
例
BYTE 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
byte value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの BYTE 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
byte value = 1;
doc.trace("byte value: ", value);
return 0.0;
}
}SHORT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
short value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの SHORT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
short value = 1;
doc.trace("short value: ", value);
return 0.0;
}
}INT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
int value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの INT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
int value = 1;
doc.trace("int value: ", value);
return 0.0;
}
}LONG 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
long value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの LONG 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
long value = 1;
doc.trace("long value: ", value);
return 0.0;
}
}FLOAT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
float value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの FLOAT 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
float value = 1.0;
doc.trace("float value: ", value);
return 0.0;
}
}DOUBLE 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
double value = 1;
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの DOUBLE 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
double value = 1.0;
doc.trace("double value: ", value);
return 0.0;
}
}CString 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
CString value = "abc";
doc.trace(value);
return 0.0;
}
}プレフィックスラベル付きの CString 値のトレース:
package users.scorer;
import com.aliyun.opensearch.cava.framework.OpsScoreParams;
import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
import com.aliyun.opensearch.cava.framework.OpsDoc;
class BasicSimilarityScorer {
boolean init(OpsScorerInitParams params) {
return true;
}
double score(OpsScoreParams params) {
OpsDoc doc = params.getDoc();
CString value = "abc";
doc.trace("CString value: ", value);
return 0.0;
}
}