简介
人气分(popularity)是opensearch提供的一个基础排序特征,用于衡量物品的受欢迎程度。popularity在使用之前需要在opensearch中创建并部署人气模型。popularity对象需要在算分插件初始化阶段创建,并在算分阶段调用popularity的算分接口计算每个文档的人气分。
函数列表
函数原型 | 函数简介 |
Popularity create(OpsScorerInitParams params, CString modelName) | 构造Popularity |
Popularity create(OpsScorerInitParams params, CString modelName, float defaultValue) | 构造Popularity,并指定默认的人气分 |
double evaluate(OpsScoreParams params) | 获取文档的人气分 |
函数详情
Popularity create(OpsScorerInitParams params, CString modelName)
构造Popularity对象,需要指定人气模型名称。参数列表:params — 算分输入参数,详情请参考OpsScoreParams手册。modelName — 人气模型名称,在opensearch控制台上创建并部署的人气模型名称,必须是常量。
Popularity create(OpsScorerInitParams params, CString modelName, float defaultValue)
构造Popularity对象,需要指定人气模型名称和默认的人气分。在获取人气分时,由于有些新增的文档可能没有人气分,为了可以让这些新增的文档也有机会展示,可以设置一个默认的人气分。人气分的取值范围为[0, 1],索引defaultValue也需要在此区间。参数列表:params — 算分输入参数,详情请参考OpsScoreParams手册。modelName — 人气模型名称,在opensearch控制台上创建并部署的人气模型名称,必须是常量。defaultValue — 默认的人气分,必须是常量。
double evaluate(OpsScoreParams params)
Popularity算分接口,返回文档的人气分。参数列表:params — 算分输入参数,详情请参考OpsScoreParams手册。返回值:返回文档的人气分,取值范围为[0, 1]。代码示例:
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.algo.Popularity;
class IntelligenceAlgorithmScorer {
Popularity _pop;
boolean init(OpsScorerInitParams params) {
_pop = Popularity.create(params, "pop1", 0.123F); //pop1为人气模型
return true;
}
double score(OpsScoreParams params) {
return _pop.evaluate(params);
}
}