feat: There is no way the searchCenter

This commit is contained in:
super_liu
2021-09-23 15:29:02 +08:00
parent 179ecebd76
commit 898f510868
@@ -178,6 +178,12 @@ public class SearchCenterServiceImpl implements SearchCenterService {
if (StringUtils.isNotBlank(searchInfoEO.getStandType())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*"));
}
boolQueryBuilder.must(boolQueryShould);
}else {
boolQueryBuilder.must(boolQueryShould);
@@ -245,7 +251,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
if(searchInfoEO.getCYSD() != null && StringUtils.isNotBlank(searchInfoEO.getCYSD())){
List<String> fieldList = Arrays.asList(searchInfoEO.getCYSD() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
List<String> fieldList = Arrays.asList(searchInfoEO.getCYSD().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
JSONArray array= JSONArray.parseArray(JSON.toJSONString(fieldList));
collectAttrMap.put("CYSD",array);
}
@@ -287,15 +293,60 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
}
if(!fields.isEmpty()){
for (String str : fields) {
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+str+"*"));
if(fields.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
fields.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery(keyWordField, "*"+s+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+fields.get(0)+"*"));
}
}
}
}
}
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())) {
boolQueryBuilder.should(boolQueryBuilderMust);
if(searchInfoEO.getQCDW() != null && StringUtils.isNotBlank(searchInfoEO.getQCDW())){
List<String> list = Arrays.asList(searchInfoEO.getQCDW().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("QCDW.keyword", "*"+s+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("QCDW.keyword", "*"+searchInfoEO.getQCDW()+"*"));
}
}
if(searchInfoEO.getCYSD() != null && StringUtils.isNotBlank(searchInfoEO.getCYSD())){
List<String> list = Arrays.asList(searchInfoEO.getCYSD().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("CYSD.keyword", "*"+s+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("CYSD.keyword", "*"+searchInfoEO.getCYSD()+"*"));
}
}
if(searchInfoEO.getCLLX() != null && StringUtils.isNotBlank(searchInfoEO.getCLLX())){
List<String> list = Arrays.asList(searchInfoEO.getCLLX().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("CLLX.keyword", "*"+s+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("CLLX.keyword", "*"+searchInfoEO.getCLLX()+"*"));
}
}
}else {
boolQueryBuilder.must(boolQueryBuilderMust);
}
@@ -312,7 +363,16 @@ public class SearchCenterServiceImpl implements SearchCenterService {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+searchInfoEO.getStandType()+"*"));
}
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*"));
List<String> list = Arrays.asList(searchInfoEO.getStandSort().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+s+" "+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+" "+"*"));
}
}
if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*"));
@@ -584,7 +644,16 @@ public class SearchCenterServiceImpl implements SearchCenterService {
}
if (StringUtils.isNotBlank(searchInfoEO.getTextStatusBuss())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*"));
List<String> list = Arrays.asList(searchInfoEO.getTextStatusBuss().split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
if(list.size() > 1){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
list.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+s+"*"));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatusBuss.keyword", "*"+searchInfoEO.getTextStatusBuss()+"*"));
}
}
if (searchInfoEO.getIssueTime() != null) {
@@ -644,7 +713,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// 循环统计各种类型数据
String[] seniortype;
if("stand".equals(searchInfoEO.getSelectIndex())) {
String[] seniortypeStand = {"standSort", "statecode","CYSD","ZRLX","CLLX","CBCD"};
String[] seniortypeStand = {"standSort", "statecode","CYSD","ZRLX","CLLX","CBCD","textStatus","textStatusName"};
seniortype = seniortypeStand.clone();
} else if("laws".equals(searchInfoEO.getSelectIndex())){
String[] seniortypeLaws = {"country","statecode","SYCLLX","ZRLX","WSSFCY"};