From 3fdc508014c167ee5b1e4afca62fee7fb87b62e9 Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 06 八月 2025 09:40:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java index 0a53f77..b0a4a72 100644 --- a/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/search/serviceimpl/EsGoodsSearchServiceImpl.java @@ -103,6 +103,7 @@ NativeSearchQuery searchQuery = searchQueryBuilder.build(); searchQuery.setTrackTotalHits(true); log.info("searchGoods DSL:{}", searchQuery.getQuery().toString()); + log.info("searchGoods sort:{}", searchQuery.getElasticsearchSorts().toString()); SearchHits<EsGoodsIndex> search = restTemplate.search(searchQuery, EsGoodsIndex.class); return SearchHitSupport.searchPageFor(search, searchQuery.getPageable()); } @@ -455,12 +456,15 @@ filterFunctionBuilders.toArray(builders); FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(QueryBuilders.matchAllQuery(), builders) .scoreMode(FunctionScoreQuery.ScoreMode.SUM); - if (CharSequenceUtil.isNotEmpty(searchDTO.getPromotionsId()) && CharSequenceUtil.isNotEmpty(searchDTO.getPromotionType())) { - functionScoreQueryBuilder.setMinScore(0); - }else { - functionScoreQueryBuilder.setMinScore(2); - - } + functionScoreQueryBuilder.setMinScore(0); +// if (CharSequenceUtil.isNotEmpty(searchDTO.getPromotionsId()) && CharSequenceUtil.isNotEmpty(searchDTO.getPromotionType())) { +// functionScoreQueryBuilder.setMinScore(0); +// }else if (cn.lili.common.utils.StringUtils.isNotBlank(searchDTO.getCategoryId())){ +// functionScoreQueryBuilder.setMinScore(0); +// } +// else { +// functionScoreQueryBuilder.setMinScore(2); +// } //鑱氬悎鎼滅储鍒欏皢缁撴灉鏀惧叆杩囨护鏉′欢 filterBuilder.must(functionScoreQueryBuilder); } else { @@ -473,7 +477,7 @@ if (pageVo != null && CharSequenceUtil.isNotEmpty(pageVo.getOrder()) && CharSequenceUtil.isNotEmpty(pageVo.getSort())) { - nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort(pageVo.getSort()).order(SortOrder.valueOf(pageVo.getOrder().toUpperCase()))); + nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort(pageVo.getSort()).order(SortOrder.valueOf(pageVo.getOrder().toUpperCase())).missing("_last")); } else { nativeSearchQueryBuilder.withSort(SortBuilders.scoreSort().order(SortOrder.DESC)); } @@ -669,7 +673,7 @@ filterFunctionBuilders.toArray(builders); FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders.functionScoreQuery(goodsNameMatchQuery, builders) .scoreMode(FunctionScoreQuery.ScoreMode.SUM) - .setMinScore(2); + .setMinScore(0); //鑱氬悎鎼滅储鍒欏皢缁撴灉鏀惧叆杩囨护鏉′欢 filterBuilder.must(functionScoreQueryBuilder); filterBuilder.should(QueryBuilders.boolQuery().should(QueryBuilders.matchPhraseQuery("goodsName", keyword).boost(10))); -- Gitblit v1.8.0