diff --git a/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/BaseEsMapperImpl.java b/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/BaseEsMapperImpl.java index 7f98d65b..bcad6be0 100644 --- a/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/BaseEsMapperImpl.java +++ b/easy-es-core/src/main/java/org/dromara/easyes/core/kernel/BaseEsMapperImpl.java @@ -61,6 +61,7 @@ import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.metrics.ParsedCardinality; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; +import org.elasticsearch.search.sort.SortBuilder; import java.io.IOException; import java.io.Serializable; @@ -272,7 +273,11 @@ public class BaseEsMapperImpl implements BaseEsMapper { // searchAfter必须要进行排序,不排序无法进行分页 boolean notSort = CollectionUtils.isEmpty(wrapper.baseSortParams) && CollectionUtils.isEmpty(wrapper.orderByParams); if (notSort) { - throw ExceptionUtils.eee("sortParamList cannot be empty"); + // 混合查询中 排序 + List> sorts = Objects.nonNull(wrapper.searchSourceBuilder) ? wrapper.searchSourceBuilder.sorts() : new ArrayList<>(); + if (CollectionUtils.isEmpty(sorts)) { + throw ExceptionUtils.eee("sortParamList cannot be empty"); + } } // 兼容分页参数