feat: There is no way the, elasticsearch
This commit is contained in:
+44
-41
@@ -699,7 +699,7 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
|
||||
// 高级搜索项,只针对标准
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getStandSort()+"*"));
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("numbershow.keyword", "*"+searchInfoEO.getStandSort()+"*"));
|
||||
}
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandCode())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandCode()+"*"));
|
||||
@@ -823,13 +823,6 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
"JASO","JIS","GSO","GOST","ΓOCT","TP","SASO","UAE","CONTRAN","DENATRAN","ABNT NBR","NBR","INMETRO","CONAMA","Normative Instruction","ADR"};
|
||||
String[] bussStandVerify = {"Q/FT A","Q/FT B","Q/FT E","Q/FT F","Q/FT G","Q/FT M","Q/FT Q","Q/FT R","Q/FT S","Q/FT T","Q/FT V","Q/FT X","Q/FT Y","Q/FT Z","Q/QCBFC"};
|
||||
List<String> list = new ArrayList<>();
|
||||
if(standType.equals("INLAND")){
|
||||
list = Stream.of(standVerify).collect(Collectors.toList());
|
||||
}else if(standType.equals("bussstand")){
|
||||
list = Stream.of(bussStandVerify).collect(Collectors.toList());
|
||||
}else if(standType.equals("FOREIGN")){
|
||||
list = Stream.of(standEnVerify).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
for (int i = 0; i < seniortype.length; i++) {
|
||||
@@ -842,44 +835,54 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
result = SearchResponseToList(response);
|
||||
searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value);
|
||||
Map<String, Aggregation> aggmap = response.getAggregations().asMap();
|
||||
if (!result.isEmpty()) {
|
||||
for (int i = 0; i < seniortype.length; i++) {
|
||||
//分组后得到的数据整合
|
||||
Object results = aggmap.get("by_" + seniortype[i]);
|
||||
if(results instanceof StringTerms){
|
||||
StringTerms stResult = (StringTerms) results;
|
||||
Map<String, Object> submap = new HashMap<>();
|
||||
for (StringTerms.Bucket bucket : stResult.getBuckets()) {
|
||||
// 多选处理,当前全部允许多选
|
||||
String keyName = bucket.getKeyAsString();
|
||||
String[] keyNameList = keyName.split(",");
|
||||
// 对于属性允许多选,此处做出处理
|
||||
if(keyNameList.length>0){
|
||||
for (String itemKeyName: keyNameList){
|
||||
// put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加
|
||||
keyNameFilter(standType, list, submap, bucket, itemKeyName);
|
||||
|
||||
if(StringUtils.isNotBlank(standType)){
|
||||
if(standType.equals("INLAND")){
|
||||
list = Stream.of(standVerify).collect(Collectors.toList());
|
||||
}else if(standType.equals("bussstand")){
|
||||
list = Stream.of(bussStandVerify).collect(Collectors.toList());
|
||||
}else if(standType.equals("FOREIGN")){
|
||||
list = Stream.of(standEnVerify).collect(Collectors.toList());
|
||||
}
|
||||
if (!result.isEmpty()) {
|
||||
for (int i = 0; i < seniortype.length; i++) {
|
||||
//分组后得到的数据整合
|
||||
Object results = aggmap.get("by_" + seniortype[i]);
|
||||
if(results instanceof StringTerms){
|
||||
StringTerms stResult = (StringTerms) results;
|
||||
Map<String, Object> submap = new HashMap<>();
|
||||
for (StringTerms.Bucket bucket : stResult.getBuckets()) {
|
||||
// 多选处理,当前全部允许多选
|
||||
String keyName = bucket.getKeyAsString();
|
||||
String[] keyNameList = keyName.split(",");
|
||||
// 对于属性允许多选,此处做出处理
|
||||
if(keyNameList.length>0){
|
||||
for (String itemKeyName: keyNameList){
|
||||
// put 之前判断是否已存在该key ,如果不存在,直接放入值,如果存在,需要进行一个累加
|
||||
keyNameFilter(standType, list, submap, bucket, itemKeyName);
|
||||
}
|
||||
}
|
||||
else {
|
||||
keyNameFilter(standType, list, submap, bucket, keyName);
|
||||
}
|
||||
}
|
||||
else {
|
||||
keyNameFilter(standType, list, submap, bucket, keyName);
|
||||
}
|
||||
map.put(seniortype[i], submap);
|
||||
}
|
||||
else{
|
||||
Map<String, Object> submap = new HashMap<>();
|
||||
map.put(seniortype[i], submap);
|
||||
}
|
||||
map.put(seniortype[i], submap);
|
||||
}
|
||||
else{
|
||||
Map<String, Object> submap = new HashMap<>();
|
||||
map.put(seniortype[i], submap);
|
||||
}
|
||||
|
||||
}
|
||||
if(standType.equals("bussstand")){
|
||||
map.forEach((s, o) -> {
|
||||
if(s.equals("numbershow")){
|
||||
map.put("standSort",o);
|
||||
}
|
||||
});
|
||||
}
|
||||
result.get(0).put("groupdata", map);
|
||||
}
|
||||
if(standType.equals("bussstand")){
|
||||
map.forEach((s, o) -> {
|
||||
if(s.equals("numbershow")){
|
||||
map.put("standSort",o);
|
||||
}
|
||||
});
|
||||
}
|
||||
result.get(0).put("groupdata", map);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user