在使用OpenSearch算法功能搜索时,或多或少都需要上传一些必要参数,才能关联上算法功能,以下详细介绍各个算法模块的必要参数如何通过Java SDK添加到查询请求中(传参均已伪代码的形式举例)。
查询分析
...
//搜索请求
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'开放搜索'"); //通过下拉提示引导的
///添加from_request_id参数
Map<String, String> customParam =new HashMap<>();
customParam.put("raw_query","开放搜索");
searchParams.setCustomParam(customParam);
//执行查询语句返回数据对象
SearchResult execute = searcherClient.execute(searchParams);
...
类目预测
raw_query:用于类目预测等算法训练使用。
...
//搜索请求
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'苹果'"); //通过下拉提示引导的
///添加from_request_id参数
Map<String, String> customParam =new HashMap<>();
customParam.put("raw_query","苹果");
searchParams.setCustomParam(customParam);
//执行查询语句返回数据对象
SearchResult execute = searcherClient.execute(searchParams);
...
下拉提示
raw_query:开启高频词;
from_request_id:优化下拉提示排序模型,提升下拉提示引导搜索的效果,统计用于衡量下拉提示对搜索的效果的指标;
raw_query、user_id、from_request_id:开启智能排序;
...
//搜索请求
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'苹果'"); //通过下拉提示引导的
///添加from_request_id参数
Map<String, String> customParam =new HashMap<>();
customParam.put("raw_query","苹果");
customParam.put("user_id","12345");
customParam.put("from_request_id","159851481919726888064081");
searchParams.setCustomParam(customParam);
//执行查询语句返回数据对象
SearchResult execute = searcherClient.execute(searchParams);
...
搜索请求中上传raw_query,下拉提示请求中上传参数user_id:开启历史搜索词
...
//搜索请求
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'苹果'"); //通过下拉提示引导的
///添加from_request_id参数
Map<String, String> customParam =new HashMap<>();
customParam.put("raw_query","苹果");
searchParams.setCustomParam(customParam);
//执行查询语句返回数据对象
SearchResult execute = searcherClient.execute(searchParams);
...
//下拉提示请求
SuggestParams suggestParams = new SuggestParams();
suggestParams.setUserId("12345");
热搜和底纹
raw_query:用于热搜和底纹算法模型训练使用;
from_request_id、user_id:提升热搜和底纹引导搜索的效果,统计用于衡量热搜和底纹对搜索的效果的指标;
...
//搜索请求
SearchParams searchParams = new SearchParams(config);
searchParams.setQuery("default:'苹果'"); //通过下拉提示引导的
///添加from_request_id参数
Map<String, String> customParam =new HashMap<>();
customParam.put("raw_query","苹果");
customParam.put("user_id","12345");
customParam.put("from_request_id","160851481919726888064913");
searchParams.setCustomParam(customParam);
//执行查询语句返回数据对象
SearchResult execute = searcherClient.execute(searchParams);
...
Cava插件
cava脚本名称
排序类型
...
// 创建参数对象
SearchParams searchParams = new SearchParams(config);
...
//创建rank对象
Rank rank=new Rank();
//设置调用的CAVA脚本
rank.setSecondRankName("test_cava");
//设置排序类型 - CAVA 脚本
rank.setSecondRankType(RankType.CAVA_SCRIPT);
//将排序策略加入到参数对象中
searchParams.setRank(rank);
文档内容是否对您有帮助?