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

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

查询分析

image

...
//搜索请求
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);

...

类目预测

image

...
//搜索请求
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:开启智能排序;

image

...
//搜索请求
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:提升热搜和底纹引导搜索的效果,统计用于衡量热搜和底纹对搜索的效果的指标;

image

...
//搜索请求
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脚本名称

  • 排序类型

image

...
// 创建参数对象
SearchParams searchParams = new SearchParams(config);
...

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