在Spring Boot环境下,可以使用ES的QueryBuilder来创建查询,然后使用ES的SortBuilders来创建排序条件。

首先,在pom.xml中添加Elasticsearch的依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

然后,在Java代码中,可以按照以下方式创建排序条件:

import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;

QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("fieldName", "fieldValue"))
        .sort(SortBuilders.fieldSort("sortField").order(SortOrder.DESC));

其中,QueryBuilders.fieldSort("sortField")表示根据字段"sortField"进行排序,SortOrder.DESC表示降序排序。

完整的示例代码如下:

import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.sort.SortBuilders;
import org.elasticsearch.search.sort.SortOrder;

QueryBuilder queryBuilder = QueryBuilders.boolQuery().must(QueryBuilders.matchQuery("fieldName", "fieldValue"))
        .sort(SortBuilders.fieldSort("sortField").order(SortOrder.DESC));

// 使用QueryBuilder进行查询操作
SearchHits hits = elasticsearchTemplate.search(new NativeSearchQueryBuilder().withQuery(queryBuilder).build(), IndexCoordinates.of("indexName"));

// 遍历查询结果
for (SearchHit hit : hits) {
    // 处理查询结果
}

这样就可以在Spring Boot环境下使用ES的QueryBuilder来创建查询,并使用SortBuilders来创建排序条件了

在springboot环境下 ES Query query = new CriteriaQuery怎么排序

原文地址: https://www.cveoy.top/t/topic/iatv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录