diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index e84e8c595..9e50070d3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -197,7 +197,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { Map mapTwo = (Map) map.get("mapTwo"); JSONArray must = new JSONArray(); //处理首次查询条件 - if (ObjectUtils.isNotEmpty(mapOne)) { + if (ObjectUtils.isNotEmpty(mapOne)) { queryCondition(mapOne, inputFieldList, otherFieldList,dateFieldList, must); } //处理二次查询条件 @@ -423,27 +423,44 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { for (Map.Entry entry : otherMap.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); - if("technology_territory".equals(key) && ObjectUtils.isNotEmpty(value)){ - JSONArray should = new JSONArray(); + if(StringUtils.isNotBlank(value)){ + if("technology_territory".equals(key) && ObjectUtils.isNotEmpty(value)){ + JSONArray should = new JSONArray(); - List> mapList = new ArrayList<>(); - for (String s : value.split(",")) { - Map map = new HashMap(); - map.put(key,"*"+s+"*"); - Map map1 = new HashMap<>(); - map1.put("wildcard",map); - should.add(map1); + List> mapList = new ArrayList<>(); + for (String s : value.split(",")) { + Map map = new HashMap(); + map.put(key,"*"+s+"*"); + Map map1 = new HashMap<>(); + map1.put("wildcard",map); + should.add(map1); + } + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, should); + must.add(jsonObject); + }else if("standard_system".equals(key) && ObjectUtils.isNotEmpty(value)){ + JSONArray should = new JSONArray(); + + List> mapList = new ArrayList<>(); + for (String s : value.split(",")) { + Map map = new HashMap(); + map.put("query",s); + Map map1 = new HashMap<>(); + map1.put(key,map); + Map map2 = new HashMap<>(); + map2.put("match",map1); + should.add(map2); + } + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, should); + must.add(jsonObject); + }else{ + Map map = new HashMap<>(); + Map queryMap = new HashMap<>(); + Map queryMapTemp = new HashMap<>(); + queryMapTemp.put("query", value); + queryMap.put(key, queryMapTemp); + map.put("match",queryMap); + must.add(map); } - JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, should); - must.add(jsonObject); - }else{ - Map map = new HashMap<>(); - Map queryMap = new HashMap<>(); - Map queryMapTemp = new HashMap<>(); - queryMapTemp.put("query", value); - queryMap.put(key, queryMapTemp); - map.put("match",queryMap); - must.add(map); } } }