すべてのプロダクト
Search
ドキュメントセンター

OpenSearch:OpsDoc

最終更新日:Apr 02, 2026

OpsDoc は、スコア計算中にソートプラグインがドキュメントフィールドと変数にアクセスできるようにする Cava フレームワークのクラスです。システムは OpsDoc オブジェクトを自動的に作成します。ソートプラグインの init または score 関数で params.getDoc() を呼び出して取得します。

機能:

  • 現在のドキュメントから属性フィールド値 (スカラー型および配列型) を読み取ります

  • 複数のプラグイン間で変数を宣言および交換します

  • スコアロジックのデバッグ用に[検索テスト] ページでトレースを出力する

重要

OpsDoc は、OpenSearch コンソールで設定され、init 関数で requireAttribute を介して宣言された属性フィールドのみを読み取ることができます。初期化中に宣言されていないフィールドは、スコアリング時に正しく取得できません。

関数

フィールドアクセス

シグネチャフィールドタイプ戻り値
boolean requireAttribute(CString fieldName)true、それ以外の場合は false
long docFieldLong(CString fieldName)INTlong
float docFieldFloat(CString fieldName)FLOATfloat
double docFieldDouble(CString fieldName)DOUBLEdouble
CString docFieldLiteral(CString fieldName)LITERALCString
long[] docFieldLongArray(CString fieldName)INT_ARRAYlong[]、失敗した場合は null
float[] docFieldFloatArray(CString fieldName)FLOAT_ARRAYfloat[]、失敗した場合は null
double[] docFieldDoubleArray(CString fieldName)DOUBLE_ARRAYdouble[]、失敗した場合は null
CString[] docFieldLiteralArray(CString fieldName)LITERAL_ARRAYCString[]、失敗した場合は null
OpsGeoPoint docFieldGeoPoint(CString fieldName)GEO_POINTOpsGeoPoint、失敗した場合は null
OpsTimestamp docFieldTimestamp(CString fieldName)TIMESTAMPOpsTimestamp、失敗した場合は 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 関数で正しく読み取ることはできません。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: 宣言に成功した場合は 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 として返します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 として返します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 型の属性フィールドの値を取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: フィールド値を 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 オブジェクトとして取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: 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 オブジェクトとして取得します。

パラメーター:

パラメータータイプ説明
fieldNameCString属性フィールドの名前。定数である必要があります。

戻り値: 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 型の変数を宣言します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。定数である必要があります。
needSerializeboolean返されるドキュメントに変数を含めるかどうか。定数である必要があります。有効な値: truefalse

戻り値: 宣言に成功した場合は 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 型の変数を宣言します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。定数である必要があります。
needSerializeboolean返されるドキュメントに変数を含めるかどうか。定数である必要があります。有効な値: truefalse

戻り値: 宣言に成功した場合は 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 関数で呼び出します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。
valuelong割り当てる値。
この関数を呼び出す前に、initdeclareLongVariable を介して変数を宣言する必要があります。

setDoubleVariable

void setDoubleVariable(CString variableName, long value)

宣言された DOUBLE 型の変数の値を設定します。これを score 関数で呼び出します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。
valuelong割り当てる値。
この関数を呼び出す前に、initdeclareDoubleVariable を介して変数を宣言する必要があります。

getLongVariable

long getLongVariable(CString variableName)

宣言された LONG 型の変数の値を取得します。これを score 関数で呼び出します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。

戻り値: 変数の現在の値。変数が宣言されていないか、その値が設定されていない場合は 0 を返します。

getDoubleVariable

double getDoubleVariable(CString variableName)

宣言された DOUBLE 型の変数の値を取得します。これを score 関数で呼び出します。

パラメーター:

パラメータータイプ説明
variableNameCString変数の名前。

戻り値: 変数の現在の値。変数が宣言されていないか、その値が設定されていない場合は 0 を返します。

トレース関数

ソート式とは異なり、Cava ソートスクリプトはトレース出力を自動的に発行しません。score 関数で明示的に trace を呼び出して、デバッグ中に値を検査します。

警告

トレース出力は [検索テスト] ページでのみ利用可能です。通常の検索リクエストはトレースをサポートしていません。各 trace 呼び出しはランタイムメモリを消費します。デバッグ時にのみ trace を使用し、本番環境にデプロイする前にトレース呼び出しを削除または最小限にしてください。

複数の変数を表示するには、変数ごとに 1 回 trace を呼び出します。OpsDoc トレース関数で使用されるパラメーターは固定されており、変更できません。

すべてのトレースオーバーロードは同じパターンに従います:

  • 単一引数フォーム — 値を直接出力します

  • 2引数フォームprefix ラベルの後に値を出力するため、複数のトレース呼び出しがアクティブな場合に出力を識別しやすくなります

サポートされている型

タイプ単一引数2引数
BYTEvoid trace(byte value)void trace(CString prefix, byte value)
SHORTvoid trace(short value)void trace(CString prefix, short value)
INTvoid trace(int value)void trace(CString prefix, int value)
LONGvoid trace(long value)void trace(CString prefix, long value)
FLOATvoid trace(float value)void trace(CString prefix, float value)
DOUBLEvoid trace(double value)void trace(CString prefix, double value)
CStringvoid 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;
    }
}