算法模块参数使用方式介绍

更新时间:
复制为 MD 格式

在使用OpenSearch算法功能搜索时,或多或少都需要上传一些必要参数,才能关联上算法功能,以下详细介绍各个算法模块的必要参数如何通过Java SDK添加到查询请求中(传参均已伪代码的形式举例)。

查询分析

在控制台的查询测试页面中,展开搜索条件区域,在参数行中添加 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);
...

类目预测

在控制台中,选择Ha3引擎及对应应用,展开搜索条件,在子句区域设置 config=start:0,hit:10,format:fulljson,在参数区域将 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脚本名称

  • 排序类型

在查询调试界面,选择引擎类型为Ha3引擎,应用名为zy_test,环境为线上应用,在搜索条件中添加参数second_rank_type = cava_scriptsecond_rank_name = test_cava,输入querydefault:苹果后单击搜索

...
// 创建参数对象
SearchParams searchParams = new SearchParams(config);
...
//创建rank对象
Rank rank=new Rank();
//设置调用的CAVA脚本
rank.setSecondRankName("test_cava");
//设置排序类型 - CAVA 脚本
rank.setSecondRankType(RankType.CAVA_SCRIPT);
//将排序策略加入到参数对象中
searchParams.setRank(rank);