Merge branch 'develop_3' into 'develop_master'
feat: 搜索中心 es 高级检索 See merge request !93
This commit is contained in:
@@ -19,7 +19,7 @@ public class SQLFilter {
|
||||
|
||||
for(int i$ = 0; i$ < len$; ++i$) {
|
||||
String keyword = arr$[i$];
|
||||
if (checkStr.indexOf(keyword) != -1 && checkStr.indexOf("selectindex") == -1 && checkStr.indexOf("selectvalue") == -1) {
|
||||
if (checkStr.indexOf(keyword) != -1) {
|
||||
throw new AdcDaBaseException("包含非法字符");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -56,10 +57,12 @@ public class SeniorSearchInfoEO extends BasePage {
|
||||
|
||||
@ApiModelProperty(value = "标准发布日期")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
private Date issueTime;
|
||||
|
||||
@ApiModelProperty(value = "实施日期")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||
private Date putTime;
|
||||
|
||||
@ApiModelProperty(value = "内容摘要")
|
||||
|
||||
+157
-117
@@ -68,63 +68,126 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
SearchRequestBuilder searchRequestBuilder;
|
||||
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
|
||||
// 记录搜索记录到数据库中
|
||||
BoolQueryBuilder boolQueryShould = QueryBuilders.boolQuery();
|
||||
BoolQueryBuilder boolQueryMust = QueryBuilders.boolQuery();
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){
|
||||
QueryBuilder multiQueryBuilder;
|
||||
List<String> strings=new ArrayList<>();
|
||||
switch (searchInfoEO.getSelectIndex()){
|
||||
case "stand":
|
||||
strings=Arrays.asList(numbershowSplit, nameshowSplit, numbershowStr, nameshowStr, "numberExpNull", "standSortShow", "standstateshow", "countryShow", "standEnName", "synopsis", "baseSearchContent", content, "CYSDShow", "CLLXShow", "standstateshow", "ZRLXShow", "stand_name", "stand_number", "citeStand", "DTBJH", "FGXXSXXXShow", "CBBH", "YYBJ", "XGLC", "synopsis", "isRelateAccess", "GKDWShow", "CYSDShow", "FBJGShow", "ZRLXShow", "GXHBQShow", "GZZXXName", "YQLXShow", "FGWHRName", "ZRBMShow", "XGBMShow", "SVPPSName", "FOShow", "XMPGJSShow", "BDTBZBH", "BYYBJ", "issue_time", "ZCCSSRQ", "XCXSSRQ", "accessCountry");
|
||||
break;
|
||||
case "laws":
|
||||
strings=Arrays.asList(numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num",
|
||||
"synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJGShow","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC","accessCountry");
|
||||
break;
|
||||
case "bussstand":
|
||||
strings=Arrays.asList(numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standstateshow", "standEnName",replaceStandNumStr,
|
||||
replacedStandNumStr,"countryShow","synopsis","standSortShow","ZQCBMShow","ZQCBM","stand_status",
|
||||
"baseSearchContent",content,"numbershow","nameshow","standstateshow","issue_time","replaceStandNum","replacedStandNum","QBMJShow","QBSQShow","XHQBMShow","SVPPSName","XGBMName","ZYQCRShow","ZRBMShow","ZQCBMName","QTQCRShow","content","FSRQString","FZRQString","put_time","XGLC","WFSPJSName","GFXYYWJ");
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), strings.toArray(new String[0])).minimumShouldMatch("100%");
|
||||
boolQueryMust.must(multiQueryBuilder);
|
||||
|
||||
for (String string : strings) {
|
||||
boolQueryShould.should(QueryBuilders.wildcardQuery(string, "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//在结果中检索
|
||||
if (StringUtils.isNotEmpty(searchInfoEO.getResultKeyword()) && StringUtils.isBlank(searchInfoEO.getIsHigh())) {
|
||||
QueryBuilder multiQuery = queryInResult(searchInfoEO);
|
||||
boolQueryBuilder.must(multiQuery);
|
||||
}
|
||||
|
||||
searchRequestBuilder = client.prepareSearch(searchInfoEO.getSelectIndex())
|
||||
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
|
||||
.setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize())
|
||||
.setSize(searchInfoEO.getPageSize());
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0));
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||
boolQueryBuilder.should(boolQueryShould);
|
||||
}
|
||||
BoolQueryBuilder boolQueryBuilder1=null;
|
||||
|
||||
if(searchInfoEO.getSelectIndex().equals("stand")) {
|
||||
boolQueryBuilder1 = queryStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
boolQueryShould = queryStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
} else if(searchInfoEO.getSelectIndex().equals("laws")){
|
||||
boolQueryBuilder1 = queryLawsMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
boolQueryShould = queryLawsMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
} else if(searchInfoEO.getSelectIndex().equals("bussstand")){
|
||||
boolQueryBuilder1 = queryBussStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
boolQueryShould = queryBussStandMsg(searchInfoEO,boolQueryMust,searchRequestBuilder);
|
||||
}
|
||||
|
||||
if(boolQueryBuilder1!=null){
|
||||
boolQueryBuilder.must(boolQueryBuilder1);
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue()) && StringUtils.isBlank(searchInfoEO.getIsHigh())){
|
||||
QueryBuilder multiQueryBuilder;
|
||||
switch (searchInfoEO.getSelectIndex()){
|
||||
case "stand":
|
||||
boolQueryShould.should(QueryBuilders.wildcardQuery("standSort.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standYear.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standName.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standEnName.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standNature.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("textStatus.keyword", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standSystem.keyword", "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
break;
|
||||
case "laws":
|
||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
||||
numbershowSplit,nameshowSplit,nameshowStr,numbershowStr,"numberExpNull","standstateshow","countryShow", "natureShow", "replace_laws_num",
|
||||
"synopsis","standEnName",replacedStandNumStr,"baseSearchContent",content,"CYSDShow","SYCLLXShow","standstateshow","ZRLXShow","stand_number","isRelateAccess","YQLXShow","SYCLLXShow","GXHBQShow","ZCGCSShow","FBJG","SVPPSName","XGBMShow","ZRBMShow","FOShow","GKGLBMShow","WSSFCYShow","replaceLawsNum","replacedLawsNum","XMPGJSShow","issue_time","ZCCSSRQ","XCXSSRQ","EOPSSRQ","XGLC","accessCountry").minimumShouldMatch("100%");
|
||||
boolQueryMust.must(multiQueryBuilder);
|
||||
boolQueryShould.should(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(numbershowSplit, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(nameshowSplit, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(content, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("CYSDShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("accessCountry", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZRLXShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("isRelateAccess", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("YQLXShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("SYCLLXShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("GXHBQShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XCXSSRQ", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZCCSSRQ", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("EOPSSRQ", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZCGCSShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("FBJG", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("SVPPSName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XGBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
// .should(QueryBuilders.wildcardQuery("ZRBMName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZRBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("FOShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("GKGLBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("content", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("WSSFCYShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("replaceLawsNum", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("replacedLawsNum", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("issue_time", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XMPGJSShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XGLC", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("stand_number", "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
break;
|
||||
case "bussstand":
|
||||
multiQueryBuilder = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(),
|
||||
numbershowSplit,nameshowSplit,numbershowStr,nameshowStr,"numberExpNull","standstateshow", "standEnName",replaceStandNumStr,
|
||||
replacedStandNumStr,"countryShow","synopsis","standSortShow","ZQCBMShow","ZQCBM","stand_status",
|
||||
"baseSearchContent",content,"numbershow","nameshow","standstateshow","issue_time","replaceStandNum","replacedStandNum","QBMJShow","QBSQShow","XHQBMShow","SVPPSName","XGBMName","ZYQCRShow","ZRBMShow","ZQCBMName","QTQCRShow","content","FSRQString","FZRQString","put_time","XGLC","WFSPJSName","GFXYYWJ","XGBMShow").minimumShouldMatch("100%");
|
||||
boolQueryMust.must(multiQueryBuilder);
|
||||
boolQueryShould.should(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(numbershowStr, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(numbershowSplit, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery(nameshowSplit, "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZQCBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZQCBM", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("stand_status", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
|
||||
.should(QueryBuilders.wildcardQuery("numbershow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standEnName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("content", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("issue_time", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("nameshow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("standstateshow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("replaceStandNum", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("replacedStandNum", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("QBMJShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("QBSQShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XHQBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("SVPPSName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XGBMName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZYQCRShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZRBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("ZQCBMName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("QTQCRShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("FSRQString", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("FZRQString", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XGLC", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("WFSPJSName", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("GFXYYWJ", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("XGBMShow", "*"+searchInfoEO.getSelectValue()+"*"))
|
||||
.should(QueryBuilders.wildcardQuery("put_time", "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
||||
if(boolQueryShould!=null){
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("validFlag", 0));
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||
boolQueryBuilder.must(boolQueryShould);
|
||||
}else {
|
||||
boolQueryBuilder.must(boolQueryShould);
|
||||
}
|
||||
searchRequestBuilder.setQuery(boolQueryBuilder);
|
||||
//在结果中检索
|
||||
if (StringUtils.isNotEmpty(searchInfoEO.getResultKeyword()) && StringUtils.isNotBlank(searchInfoEO.getIsHigh())) {
|
||||
@@ -157,26 +220,34 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
String fieldInfo = InitStandAttrSearchUtil.queryField;
|
||||
List<String> fieldInfoList = Arrays.asList(fieldInfo .split(",")).stream().map(s -> (s.trim())).collect(Collectors.toList());
|
||||
|
||||
// 动态存储属性字段 ---1
|
||||
// 自动匹配动态属性字段 es 查询
|
||||
for (String field : fieldInfoList) {
|
||||
if(collectAttrMap.containsKey(field.toLowerCase())){
|
||||
System.out.println(collectAttrMap.get(field.toLowerCase())+"----------------------------");
|
||||
List<String> fields = new ArrayList<>();
|
||||
Object json= new JSONTokener(collectAttrMap.get(field.toLowerCase()).toString()).nextValue();
|
||||
if(json instanceof org.json.JSONArray){
|
||||
fields = JSONObject.parseArray(collectAttrMap.get(field.toLowerCase()).toString(),String.class);
|
||||
}else {
|
||||
fields.add(collectAttrMap.get(field.toLowerCase()).toString());
|
||||
}
|
||||
if(!fields.isEmpty()){
|
||||
for (String str : fields) {
|
||||
boolQueryBuilderMust.must(QueryBuilders.fuzzyQuery(field, "*"+str+"*"));
|
||||
// 关键字查询属性字段
|
||||
String keyWordField = field + ".keyword";
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())){
|
||||
boolQueryBuilderMust.should(QueryBuilders.wildcardQuery(keyWordField, "*"+searchInfoEO.getSelectValue()+"*"));
|
||||
}else {
|
||||
if(collectAttrMap.containsKey(field)){
|
||||
List<String> fields = new ArrayList<>();
|
||||
Object json= new JSONTokener(collectAttrMap.get(field).toString()).nextValue();
|
||||
if(json instanceof org.json.JSONArray){
|
||||
fields = JSONObject.parseArray(collectAttrMap.get(field).toString(),String.class);
|
||||
}else {
|
||||
fields.add(collectAttrMap.get(field).toString());
|
||||
}
|
||||
if(!fields.isEmpty()){
|
||||
for (String str : fields) {
|
||||
boolQueryBuilderMust.must(QueryBuilders.wildcardQuery(keyWordField, "*"+str+"*"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolQueryBuilder.should(boolQueryBuilderMust);
|
||||
if(StringUtils.isNotEmpty(searchInfoEO.getSelectValue())) {
|
||||
boolQueryBuilder.should(boolQueryBuilderMust);
|
||||
}else {
|
||||
boolQueryBuilder.must(boolQueryBuilderMust);
|
||||
}
|
||||
return boolQueryBuilder;
|
||||
}
|
||||
|
||||
@@ -184,71 +255,40 @@ public class SearchCenterServiceImpl implements SearchCenterService {
|
||||
public BoolQueryBuilder queryStandMsg(SeniorSearchInfoEO searchInfoEO, BoolQueryBuilder boolQueryBuilder, SearchRequestBuilder searchRequestBuilder) throws Exception{
|
||||
String nameshowStr = "nameshow";
|
||||
// 高级搜索项,只针对标准
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandType())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("standType", searchInfoEO.getStandType()));
|
||||
}
|
||||
//标准类别,国内外标准有此属性
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getStandSort().equals("all") && !searchInfoEO.getStandSort().equals("[]")) {
|
||||
String[] arrlist = searchInfoEO.getStandSort().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("standSort.keyword", arrlist));
|
||||
//boolQueryBuilder.must(QueryBuilders.matchQuery("stand_sort", searchInfoEO.getStandSort()));
|
||||
if(searchInfoEO.getSelectValue() == null || searchInfoEO.getSelectValue().equals("")){
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandSort())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSort.keyword", searchInfoEO.getStandSort()));
|
||||
}
|
||||
}
|
||||
//编号,国内外标准,国内外法规,企业标准 有此属性
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber", "*"+searchInfoEO.getStandNumber()+"*"));
|
||||
}
|
||||
//标准年份
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) {
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("standYear", searchInfoEO.getStandYear()));
|
||||
}
|
||||
//名称,国内外标准,国内外法规,企业标准 有此属性
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getNameShow())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery(nameshowStr, "*"+searchInfoEO.getNameShow()+"*"));
|
||||
}
|
||||
//标准英文名称
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandEnName())) {
|
||||
boolQueryBuilder.must(QueryBuilders.matchQuery("standEnName", searchInfoEO.getStandEnName()));
|
||||
}
|
||||
//标准状态,国内外标准,国内外法规,企业标准 有此属性
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandState())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getStandState().equals("all") && !searchInfoEO.getStandState().equals("[]") ) {
|
||||
String[] arrlist = searchInfoEO.getStandState().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("statecode.keyword", arrlist));
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandNumber())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standNumber.keyword", "*"+searchInfoEO.getStandNumber()+"*"));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getCLLX())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getCLLX().equals("all") && !searchInfoEO.getCLLX().equals("[]") ) {
|
||||
String[] arrlist = searchInfoEO.getCLLX().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("CLLX.keyword", arrlist));
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandYear())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standYear.keyword", searchInfoEO.getStandYear()));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getCYSD())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getCYSD().equals("all") && !searchInfoEO.getCYSD().equals("[]") ) {
|
||||
String[] arrlist = searchInfoEO.getCYSD().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("CYSD.keyword", arrlist));
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandName())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standName.keyword", searchInfoEO.getStandName()));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getCBCD())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getCBCD().equals("all") && !searchInfoEO.getCBCD().equals("[]") ) {
|
||||
String[] arrlist = searchInfoEO.getCBCD().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("CBCD.keyword", arrlist));
|
||||
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getTextStatus())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("textStatus.keyword", searchInfoEO.getTextStatus()));
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getZRLX())) {
|
||||
// 如果等于All,相当于不限制,查询全部
|
||||
if (!searchInfoEO.getZRLX().equals("all") && !searchInfoEO.getZRLX().equals("[]") ) {
|
||||
String[] arrlist = searchInfoEO.getZRLX().split(",");
|
||||
boolQueryBuilder.must(QueryBuilders.termsQuery("ZRLX.keyword", arrlist));
|
||||
|
||||
if (searchInfoEO.getIssueTime() != null) {
|
||||
Long starttime = searchInfoEO.getIssueTime().getTime();
|
||||
Long endtime = searchInfoEO.getIssueTime().getTime();
|
||||
RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery(ISSUE_TIME).format(EPOCH_MILLIS).from(starttime).to(endtime).includeLower(true).includeUpper(true);
|
||||
boolQueryBuilder.filter(rangeQueryBuilder);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getIsRelateAccess())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("isRelateAccess.keyword", searchInfoEO.getIsRelateAccess()));
|
||||
}
|
||||
|
||||
if (StringUtils.isNotBlank(searchInfoEO.getStandSystem())) {
|
||||
boolQueryBuilder.must(QueryBuilders.wildcardQuery("standSystem.keyword", searchInfoEO.getStandSystem()));
|
||||
}
|
||||
}
|
||||
|
||||
querySeniorMsg(searchInfoEO,boolQueryBuilder);
|
||||
return boolQueryBuilder;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user