From 8436d528baba2a97b5e38d3b91f0f857f929c61c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 27 Oct 2023 10:57:31 +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=EF=BC=88=E8=BE=93=E5=85=A5=E6=A1=86=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 52 +++++++++++++------ 1 file changed, 37 insertions(+), 15 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 a470cf055..5601c2424 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 @@ -330,26 +330,48 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { String value = (String) entry.getValue(); if (ObjectUtils.isNotEmpty(value)) { for (String s : value.split(",")) { - Map map = new HashMap<>(); - Map queryMap = new HashMap<>(); - Map queryMapTemp = new HashMap<>(); - - if (key.equals("serial_number")){ - s = s.toLowerCase(); - queryMap.put(key, "*" + s + "*"); - map.put("wildcard", queryMap); - } else { - s = s.toLowerCase(); - queryMapTemp.put("query", s); - queryMapTemp.put("minimum_should_match", 2); - queryMap.put(key, queryMapTemp); - map.put("match",queryMap); + JSONArray should = new JSONArray(); + s = s.toLowerCase(); + for (String valueTemp : s.split(" ")) { + Map mapTemp = new HashMap(); + mapTemp.put(key,"*"+valueTemp+"*"); + Map map1 = new HashMap<>(); + map1.put("wildcard",mapTemp); + should.add(map1); } - must.add(map); + JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, should); + must.add(jsonObject); } } } } + //封装输入框查询条件 +// if (ObjectUtils.isNotEmpty(inputMap)) { +// for (Map.Entry entry : inputMap.entrySet()) { +// String key = entry.getKey(); +// String value = (String) entry.getValue(); +// if (ObjectUtils.isNotEmpty(value)) { +// for (String s : value.split(",")) { +// Map map = new HashMap<>(); +// Map queryMap = new HashMap<>(); +// Map queryMapTemp = new HashMap<>(); +// +// if (key.equals("serial_number")){ +// s = s.toLowerCase(); +// queryMap.put(key, "*" + s + "*"); +// map.put("wildcard", queryMap); +// } else { +// s = s.toLowerCase(); +// queryMapTemp.put("query", s); +// queryMapTemp.put("minimum_should_match", 2); +// queryMap.put(key, queryMapTemp); +// map.put("match",queryMap); +// } +// must.add(map); +// } +// } +// } +// } //封装下拉,树形查询条件 if (ObjectUtils.isNotEmpty(otherMap)) { for (Map.Entry entry : otherMap.entrySet()) {