全部产品

Popularity

简介

人气分(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]。
代码示例:

  1. package users.scorer;
  2. import com.aliyun.opensearch.cava.framework.OpsScoreParams;
  3. import com.aliyun.opensearch.cava.framework.OpsScorerInitParams;
  4. import com.aliyun.opensearch.cava.framework.OpsRequest;
  5. import com.aliyun.opensearch.cava.framework.OpsDoc;
  6. import com.aliyun.opensearch.cava.features.algo.Popularity;
  7. class IntelligenceAlgorithmScorer {
  8. Popularity _pop;
  9. boolean init(OpsScorerInitParams params) {
  10. _pop = Popularity.create(params, "pop1", 0.123F); //pop1为人气模型
  11. return true;
  12. }
  13. double score(OpsScoreParams params) {
  14. return _pop.evaluate(params);
  15. }
  16. }