From 84ad1f61fc9f86a9ae88f2d53abd75fdc39a315b Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 25 Mar 2022 23:10:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93--=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD=E9=80=89=E4=B8=AD=E6=95=B0=E6=8D=AE=E5=90=8E=E5=86=8D?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E4=B8=AD=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DocumentSearchServiceImpl.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 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 5b16aa34f..f573dc7b9 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 @@ -488,7 +488,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } Integer pageNo = searchVO.getPage(); Integer pageSize = searchVO.getPageSize(); - IPage page = getiPage(selectValue, selectValueTwo, queryMapJson, pageNo, pageSize); + IPage page = getiPage(selectValue, selectValueTwo, queryMapJson,null, pageNo, pageSize,null); return page; @@ -496,9 +496,14 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { } @NotNull - private IPage getiPage(String selectValue, String selectValueTwo, JSONArray queryMapJson, Integer pageNo, Integer pageSize) { + private IPage getiPage(String selectValue, String selectValueTwo, JSONArray queryMapJson,JSONArray should, Integer pageNo, Integer pageSize,String paragraphFlag) { + JSONObject jsonObject = new JSONObject(); //基础添加封装 - JSONObject jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson); + if("paragraphFlag".equals(paragraphFlag)){ + jsonObject = jeroElasticsearchTemplate.buildBoolQuery(queryMapJson, null, should); + }else{ + jsonObject = jeroElasticsearchTemplate.buildBoolQuery(null, null, queryMapJson); + } //全部 //1. 条件,分页 JSONObject queryObject = jeroElasticsearchTemplate.buildQuery(null, @@ -752,6 +757,19 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { if(ObjectUtils.isNotEmpty(mapTwo)){ queryCondition(mapTwo, inputFieldList, otherFieldList, must); } + //处理ids + JSONArray should = new JSONArray(); + String ids = (String) mapTwo.get("ids"); + if(StringUtils.isNotBlank(ids)){ + for (String s : ids.split(",")) { + Map queryMap = new HashMap<>(); + Map queryMapTemp = new HashMap<>(); + queryMapTemp.put("id", s); + queryMap.put("match", queryMapTemp); + should.add(queryMap); + } + } + int pageNo = Integer.parseInt(map.get("pageNo").toString()); int pageSize = Integer.parseInt(map.get("pageSize").toString()); //判断第一次传参和第二次传参 inputFieldList @@ -771,9 +789,11 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { selectValueTwo = value; } } + //段落的标识 + String paragraphFlag = "paragraphFlag"; - IPage iPage = getiPage(selectValue, selectValueTwo, must, pageNo, pageSize); + IPage iPage = getiPage(selectValue, selectValueTwo, must,should, pageNo, pageSize,paragraphFlag); return iPage; }