From f40a8801414c3a74995dac3d7da056a030436241 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 20 Dec 2023 14:06:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83-=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=BA=93-=E6=A0=87=E5=87=86=E4=BD=93=E7=B3=BB?= =?UTF-8?q?=EF=BC=88=E4=B8=8B=E6=8B=89=E5=A4=9A=E9=80=89=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 57 ++++++++++++------- 1 file changed, 37 insertions(+), 20 deletions(-) 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); } } }