feat: There is no way the, 车身中心反馈说勾选下面的条件时,名称搜索搜不到

This commit is contained in:
396572590@qq.com
2022-07-28 10:35:10 +08:00
parent 23248fce1d
commit fdcdcfdd35
2 changed files with 68 additions and 17 deletions
@@ -18,10 +18,10 @@ public class IDMUtil {
private OkHttpUtil okHttpUtil; private OkHttpUtil okHttpUtil;
private final String app_key = "app_slrs"; private final String app_key = "app_slrs";
private final String app_secret = "Fxi5LHbI5yGbQQDpVp86GcCdXeC5Bjfe"; private final String app_secret = "wj5iDTqyguQCxnsoo5VU21BoRSZqevhI";
private final String access_url = "http://sso.foton.com.cn/oauth2.0/accessTokenByJson"; private final String access_url = "http://testsso1.foton.com.cn/oauth2.0/accessTokenByJson";
private final String profile_ur = "http://sso.foton.com.cn/oauth2.0/profileByJson"; private final String profile_ur = "http://testsso1.foton.com.cn/oauth2.0/profileByJson";
private final String redirect_url = "https://srms.foton.com.cn"; private final String redirect_url = "http://127.0.0.1:9090";
public String idmLogin(String code){ public String idmLogin(String code){
try{ try{
@@ -66,7 +66,6 @@ public class IDMUtil {
} }
}catch(Exception e){ }catch(Exception e){
log.error("单点登录获取用户信息失败"); log.error("单点登录获取用户信息失败");
e.printStackTrace();
} }
return ""; return "";
} }
@@ -237,7 +237,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.addSort("issue_time_data", SortOrder.DESC) .addSort("issue_time_data", SortOrder.DESC)
.setSize(searchInfoEO.getPageSize()); .setSize(searchInfoEO.getPageSize());
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){ if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
QueryBuilder multiQueryBuilder; QueryBuilder multiQueryBuilder;
switch (searchInfoEO.getSelectIndex()){ switch (searchInfoEO.getSelectIndex()){
case "stand": case "stand":
@@ -245,7 +245,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f)) .should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
.should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f)) .should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f))
.should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f)) .should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1002f)) .should(QueryBuilders.wildcardQuery("nameshow.keyword", "*" +searchInfoEO.getSelectValue().toUpperCase()+ "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)) .should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999f)); .should(QueryBuilders.wildcardQuery("numbershow.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999f));
break; break;
@@ -260,30 +260,68 @@ public class SearchCenterServiceImpl implements SearchCenterService {
.should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f)) .should(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1005f))
.should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f)) .should(QueryBuilders.termQuery("standNumber", searchInfoEO.getSelectValue().toUpperCase()).boost(1004f))
.should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f)) .should(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1003f))
.should(QueryBuilders.wildcardQuery("nameshow.keyword", searchInfoEO.getSelectValue().toUpperCase()).boost(1002f)) .should(QueryBuilders.wildcardQuery("nameshow.keyword", "*" +searchInfoEO.getSelectValue().toUpperCase()+ "*").boost(1002f))
.should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)) .should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f))
.should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999F)); .should(QueryBuilders.wildcardQuery("stand_code.keyword", "*" + searchInfoEO.getSelectValue() + "*").boost(999f));
break; break;
default: break; default: break;
} }
} }
switch (searchInfoEO.getSelectIndex()){
case "stand":
case "bussstand":
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
if (StringUtils.isNotBlank(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.termQuery("standSort.keyword", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.termQuery("standSort.keyword", searchInfoEO.getStandSort()));
}
}
}
break;
// case "laws":
// break;
default: break;
}
if(boolQueryShould!=null){ if(boolQueryShould!=null){
boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0)); boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0));
if(searchInfoEO.getCLLX() != null && StringUtils.isNotBlank(searchInfoEO.getCLLX())){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
List<String> fieldList = Arrays.asList(searchInfoEO.getCLLX() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
fieldList.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("CLLX", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}
if(searchInfoEO.getNYLXCLASS() != null && StringUtils.isNotBlank(searchInfoEO.getNYLXCLASS())){
BoolQueryBuilder boolQueryBuilderShould = new BoolQueryBuilder();
List<String> fieldList = Arrays.asList(searchInfoEO.getNYLXCLASS() .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
fieldList.forEach(s -> {
boolQueryBuilderShould.should(QueryBuilders.termQuery("NYLXCLASS", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){ if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
if (StringUtils.isNotBlank(searchInfoEO.getType())) { if (StringUtils.isNotBlank(searchInfoEO.getType())) {
boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*")); boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getType()+"*"));
} }
if (StringUtils.isNotBlank(searchInfoEO.getStandType()) && StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) { if (StringUtils.isNotBlank(searchInfoEO.getStandType()) && StringUtils.isNotBlank(searchInfoEO.getSelectIndex())) {
if(searchInfoEO.getSelectIndex().equals("bussstand")){ if(searchInfoEO.getSelectIndex().equals("bussstand")){
boolQueryShould.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*")); boolQueryBuilder.must(QueryBuilders.wildcardQuery("type.keyword", "*"+searchInfoEO.getStandType()+"*"));
}else { }else {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+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())) { if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*"));
} }
@@ -420,9 +458,6 @@ public class SearchCenterServiceImpl implements SearchCenterService {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standType.keyword", "*"+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())) { if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*")); boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getTextStatus()+"*"));
} }
@@ -835,7 +870,18 @@ public class SearchCenterServiceImpl implements SearchCenterService {
// 高级搜索项,只针对标准 // 高级搜索项,只针对标准
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) { if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+"*")); if (StringUtils.isNotBlank(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.termQuery("standSort.keyword", s));
});
boolQueryBuilder.must(boolQueryBuilderShould);
}else {
boolQueryBuilder.must(QueryBuilders.termQuery("standSort.keyword", searchInfoEO.getStandSort()));
}
}
} }
if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) { if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) {
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*")); boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*"));
@@ -1448,6 +1494,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title");
hiBuilder.field(highlightTitle); hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent"); HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(3);
hiBuilder.field(highlightUser); hiBuilder.field(highlightUser);
HighlightBuilder.Field highlightItem = new HighlightBuilder.Field("textItems"); HighlightBuilder.Field highlightItem = new HighlightBuilder.Field("textItems");
hiBuilder.field(highlightItem); hiBuilder.field(highlightItem);
@@ -1601,6 +1648,10 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder hiBuilder=new HighlightBuilder(); HighlightBuilder hiBuilder=new HighlightBuilder();
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title.keyword"); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title.keyword");
hiBuilder.field(highlightTitle); hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(1);
highlightUser.fragmentSize(100);
hiBuilder.field(highlightUser);
hiBuilder.preTags("<span class='highlight-Es-class'>"); hiBuilder.preTags("<span class='highlight-Es-class'>");
hiBuilder.postTags("</span>"); hiBuilder.postTags("</span>");
updateIndex("fulltextserch"); updateIndex("fulltextserch");
@@ -1959,6 +2010,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title");
hiBuilder.field(highlightTitle); hiBuilder.field(highlightTitle);
HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent"); HighlightBuilder.Field highlightUser = new HighlightBuilder.Field("textContent");
highlightUser.numOfFragments(3);
hiBuilder.field(highlightUser); hiBuilder.field(highlightUser);
HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time"); HighlightBuilder.Field highlightDate = new HighlightBuilder.Field("issue_time");
hiBuilder.field(highlightDate); hiBuilder.field(highlightDate);