!58 优化es默认搜索

Merge pull request !58 from OceansDeep/feature/pg
This commit is contained in:
OceansDeep 2021-11-17 09:13:52 +00:00 committed by Gitee
commit 74abc4b360
2 changed files with 12 additions and 2 deletions

View File

@ -160,7 +160,7 @@ public class OrderSearchParams extends PageVO {
wrapper.like(CharSequenceUtil.isNotEmpty(clientType), "o.client_type", clientType);
//按评价状态
wrapper.like(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus);
//按标签查询
if (CharSequenceUtil.isNotEmpty(tag)) {

View File

@ -364,7 +364,17 @@ public class EsGoodsSearchServiceImpl implements EsGoodsSearchService {
//关键字检索
if (CharSequenceUtil.isEmpty(searchDTO.getKeyword())) {
nativeSearchQueryBuilder.withQuery(QueryBuilders.matchAllQuery());
List<FunctionScoreQueryBuilder.FilterFunctionBuilder> filterFunctionBuilders = new ArrayList<>();
GaussDecayFunctionBuilder skuNoScore = ScoreFunctionBuilders.gaussDecayFunction("skuSource", 100, 10).setWeight(10);
FunctionScoreQueryBuilder.FilterFunctionBuilder skuNoBuilder = new FunctionScoreQueryBuilder.FilterFunctionBuilder(QueryBuilders.matchAllQuery(), skuNoScore);
filterFunctionBuilders.add(skuNoBuilder);
FunctionScoreQueryBuilder.FilterFunctionBuilder[] builders = new FunctionScoreQueryBuilder.FilterFunctionBuilder[filterFunctionBuilders.size()];
filterFunctionBuilders.toArray(builders);
FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(builders)
.scoreMode(FunctionScoreQuery.ScoreMode.SUM)
.setMinScore(2);
//聚合搜索则将结果放入过滤条件
filterBuilder.must(functionScoreQueryBuilder);
} else {
this.keywordSearch(filterBuilder, searchDTO.getKeyword());
}