功能介绍
热搜和底纹是一个完整搜索引擎必备的基本功能,为了更好的满足客户的业务场景需求、优化用户的搜索场景体验,OpenSearch推出了个性化底纹功能,可以实现用户结合自己的搜索兴趣爱好推荐query,既能满足搜索内容的多样性,又能让用户看到自己感兴趣的内容。
配置流程
登录OpenSearch控制台,左侧菜单依次选择OpenSearch-行业算法版 -> 搜索算法中心 -> 搜索引导 -> 热搜与底纹 ,选择好对应的OpenSearch应用,再点击创建:
填写模型名称,模型类型选择个性化底纹模型,并选择模型训练的所需数据的来源时段和训练周期,也支持根据情况设置过滤条件,再点击确定即可:
个性化底纹模型创建成功后,即可点击完成或立即训练模型:
点击训练模型,会弹出提示是否确认立即启动训练,点击确定即可:
接下来页面跳转至个性化底纹模型详情页,可以查看模型的基本信息、配置信息、数据校验和训练历史:
当模型状态变为可用,最新版本状态变为已训练并就绪,说明模型已训练成功,可以点击效果预览查看效果:
在效果预览窗口输入userId,点击预览即可:
注意:
个性化底纹仅支持OpenSearch-行业算法版独享集群以上规格的实例使用;
个性化底纹训练模型的训练需单独计费,具体参考:OpenSearch-行业算法版计费概述;
单个OpenSearch实例最多可创建5个性化底纹训练模型;
如需人工干预个性化底纹的结果,可以添加黑白名单。
API/SDK获取底纹结果
API调用可参考:热搜和底纹
Java SDK Demo:
import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;
public class Hint {
private static final String accesskey = "替换为accesskey";
private static final String secret = "替换为secret";
private static final String host = "替换为endpoint";//例如:http://opensearch-cn-hangzhou.aliyuncs.com
private static final String appName = "替换为opensearch应用名";
private static final String HOT_API_PATH = "/apps/{app_name}/actions/hint";
public static void main(String[] args) {
OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
// Create OpenSearchClient
OpenSearchClient client = new OpenSearchClient(openSearch);
String requestPath = HOT_API_PATH.replaceAll(("\\{app_name\\}"), appName);
Map<String, String> params = new HashMap<>();
params.put("model_name", "your_model_name");//设置模型名称
params.put("hit", "10");//设置查询的底纹词条数
params.put("user_id", "123456");//设置user_id
try {
String response = client.call(requestPath, params, OpenSearchClient.METHOD_GET);
System.out.println(JSON.toJSONString(response));
} catch (OpenSearchClientException e) {
e.printStackTrace();
}
}
}
文档内容是否对您有帮助?