OpsTimestamp

简介

OpsTimestamp对应于opensearch中的TIMESTAMP数据类型,用于表示时间戳。

构造函数

函数原型

函数简介

OpsTimestamp(long timestamp)

构造OpsTimestamp

函数列表

函数原型

函数简介

long getValue()

获取timestamp的值

函数详情

OpsTimestamp(long timestamp)

使用时间戳构造OpsTimestamp,为了和opensearch中的TIMESTAMP字段保持一致,建议timestamp的时间单位精确到毫秒。

参数列表:

timestamp — 时间戳

long getValue()

获取时间戳的数值,opensearch中TIMESTAMP数据类型的时间精度是毫秒。返回值:返回时间戳

代码示例:

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.OpsTimestamp;
class BasicSimilarityScorer {
    boolean init(OpsScorerInitParams params) {
        return params.getDoc().requireAttribute("date");
    }
    double score(OpsScoreParams params) {
        OpsDoc doc = params.getDoc();
        OpsTimestamp timestamp = doc.docFieldTimestamp("date");
        if (timestamp == null) {
            doc.trace("timestamp is null");
        } else {
            doc.trace("timestamp value: ", timestamp.getValue());
        }
        return 0.0;
    }
}