java restHighLevelClient 客户端使用_id排序使得查询变慢

发布时间 2023-07-28 15:51:08作者: MrCM
 1   MultiSearchRequest request = new MultiSearchRequest();
 2         SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
 3         searchSourceBuilder.from(pageable.getPageNumber() * pageable.getPageSize());
 4         searchSourceBuilder.size(pageable.getPageSize());
       // 客户端构造查询语句使用元数据id排序使得查询变慢10倍
5
searchSourceBuilder.sort("cTime", SortOrder.DESC);

  改为其他字段解决


6 searchSourceBuilder.query(boolQueryBuilder); 7 SearchRequest firstSearchRequest = new SearchRequest(); 8 firstSearchRequest.source(searchSourceBuilder); 9 firstSearchRequest.indices("comment"); 10 request.add(firstSearchRequest); 11 CountRequest countRequest = new CountRequest(); 12 countRequest.query(boolQueryBuilder); 13 countRequest.indices("comment"); 14 CountResponse count = null; 15 List<CommentBO> datalist = new LinkedList<>(); 16 try { 17 long esStartTime = System.currentTimeMillis(); 18 log.info("es查询开始时间:{}", esStartTime); 19 MultiSearchResponse response = restHighLevelClient.msearch(request, RequestOptions.DEFAULT);