修改es查询时,岗位类型4的互联网岗位抓取的放最后面,因为没有联系方式

This commit is contained in:
sh
2026-06-29 19:48:28 +08:00
parent d62fe7b867
commit 4e43cbd52c

View File

@@ -26,6 +26,8 @@ import org.dromara.easyes.core.conditions.select.LambdaEsQueryWrapper;
import org.dromara.easyes.core.conditions.update.LambdaEsUpdateWrapper; import org.dromara.easyes.core.conditions.update.LambdaEsUpdateWrapper;
import org.elasticsearch.common.geo.GeoPoint; import org.elasticsearch.common.geo.GeoPoint;
import org.elasticsearch.common.unit.DistanceUnit; 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.SortBuilders;
import org.elasticsearch.search.sort.SortOrder; import org.elasticsearch.search.sort.SortOrder;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -597,6 +599,12 @@ public class ESJobSearchImpl implements IESJobSearchService
} }
// 全局固定:权重优先(必须写在最前面) // 全局固定:权重优先(必须写在最前面)
wrapper.trackScores(); 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); wrapper.sortByScore(SortOrder.DESC);
//0推荐 1最热 2最新发布 3最大薪资 //0推荐 1最热 2最新发布 3最大薪资
if(Objects.nonNull(esJobSearch.getOrder())){ if(Objects.nonNull(esJobSearch.getOrder())){