From 4e43cbd52cffd8e6c2e3e467919562a57585d470 Mon Sep 17 00:00:00 2001 From: sh Date: Mon, 29 Jun 2026 19:48:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9es=E6=9F=A5=E8=AF=A2=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=B2=97=E4=BD=8D=E7=B1=BB=E5=9E=8B4=E7=9A=84?= =?UTF-8?q?=E4=BA=92=E8=81=94=E7=BD=91=E5=B2=97=E4=BD=8D=E6=8A=93=E5=8F=96?= =?UTF-8?q?=E7=9A=84=E6=94=BE=E6=9C=80=E5=90=8E=E9=9D=A2=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E6=B2=A1=E6=9C=89=E8=81=94=E7=B3=BB=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java index 4dfa8f1..af653d6 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/impl/ESJobSearchImpl.java @@ -26,6 +26,8 @@ import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper; import org.dromara.easyes.core.conditions.update.LambdaEsUpdateWrapper; import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.unit.DistanceUnit; +import org.elasticsearch.script.Script; +import org.elasticsearch.search.sort.ScriptSortBuilder; import org.elasticsearch.search.sort.SortBuilders; import org.elasticsearch.search.sort.SortOrder; import org.slf4j.Logger; @@ -597,6 +599,12 @@ public class ESJobSearchImpl implements IESJobSearchService } // 全局固定:权重优先(必须写在最前面) wrapper.trackScores(); + //最高优先级:data_source="4" 统一放最后 + wrapper.sort(SortBuilders.scriptSort( + new Script("doc.containsKey('data_source') && doc['data_source'].value == '4' ? 1 : 0"), + ScriptSortBuilder.ScriptSortType.NUMBER + ).order(SortOrder.ASC)); + // 匹配得分降序 wrapper.sortByScore(SortOrder.DESC); //0:推荐 1:最热 2:最新发布 3:最大薪资 if(Objects.nonNull(esJobSearch.getOrder())){