搜索中心文档库排序

This commit is contained in:
zhn
2022-06-02 16:07:42 +08:00
parent d840464e64
commit a71e911333
@@ -193,10 +193,34 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
should.add(queryMap);
}
}
String orderBy = (String)map.get("orderBy");
String orderByField = (String) map.get("orderByField");
JSONArray jsonArrySort = new JSONArray();
JSONObject sort = new JSONObject();
Map<String,Object> mapSort = new HashMap<>();
Map<String,Object> mapSortTemp = new HashMap<>();
if(StringUtils.isNotBlank(orderBy) && StringUtils.isNotBlank(orderByField)){
//orderBy=1正序,orderBy=1倒序
if("1".equals(orderBy)){
mapSort.put("order","asc");
}else{
mapSort.put("order","desc");
}
if("state".equals(orderByField) || "region".equals(orderByField)){
mapSortTemp.put(orderByField+".keyword",mapSort);
}else{
mapSortTemp.put(orderByField,mapSort);
}
}else{
mapSortTemp.put("issue_time","desc");
}
sort.putAll(mapSortTemp);
jsonArrySort.add(sort);
//封装查询条件
JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(must, null, should);
//1. 封装分页和字段值
JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(sourceList, jsonObject, null, null,
JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(sourceList, jsonObject, null, jsonArrySort,
Integer.parseInt(map.get("pageNo").toString())-1, Integer.parseInt(map.get("pageSize").toString()));
//2. 数据查询
JSONObject search = jeroElasticsearchTemplate.search(SearchEnum.INDEX_NAME_DOCUMENT.getValue(),