...
|
...
|
@@ -5,6 +5,7 @@ import com.sunyo.wlpt.message.bus.service.exception.CustomException; |
|
|
import com.sunyo.wlpt.message.bus.service.exception.CustomExceptionType;
|
|
|
import com.sunyo.wlpt.message.bus.service.model.ESPage;
|
|
|
import com.sunyo.wlpt.message.bus.service.model.MessageBusMsg;
|
|
|
import com.sunyo.wlpt.message.bus.service.model.es.MESSAGEBUS;
|
|
|
import com.sunyo.wlpt.message.bus.service.response.ResultJson;
|
|
|
import com.sunyo.wlpt.message.bus.service.service.ElasticSearchInfoService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
...
|
...
|
@@ -107,19 +108,19 @@ public class ElasticSearchInfoController { |
|
|
@RequestMapping("/search/wildmsg")
|
|
|
public ResultJson searchMsg(@RequestBody MessageBusMsg messageBusMsg)
|
|
|
{
|
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "ddtm","creatime");
|
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "MSG.HEADER.DDTM","ADMIN.CREATTIME");
|
|
|
//前端提交的起始页从1开始,ES是从0开始
|
|
|
ESPage page = ESPage.of(messageBusMsg.getPageNum()-1,messageBusMsg.getPageSize(),sort);
|
|
|
WildcardQueryBuilder queryBuilders=null;
|
|
|
if(StringUtils.isNotBlank(messageBusMsg.getAlias_sendContent())){
|
|
|
queryBuilders = QueryBuilders.wildcardQuery("msg", "*"+messageBusMsg.getAlias_sendContent().toLowerCase()+"*");
|
|
|
queryBuilders = QueryBuilders.wildcardQuery("MSG.BODY", "*"+messageBusMsg.getAlias_sendContent().toLowerCase()+"*");
|
|
|
}else {
|
|
|
return ResultJson.error(new CustomException(CustomExceptionType.SEARCH_EXCEPTION));
|
|
|
}
|
|
|
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
searchSourceBuilder.query(queryBuilders);
|
|
|
Page<MessageBusMsg> data = elasticSearchInfoService.search(searchSourceBuilder,MessageBusMsg.class,page);
|
|
|
Page<MESSAGEBUS> data = elasticSearchInfoService.search(searchSourceBuilder,MESSAGEBUS.class,page);
|
|
|
ResultJson resultJson = new ResultJson("200","success",data);
|
|
|
return resultJson;
|
|
|
}
|
...
|
...
|
@@ -128,7 +129,7 @@ public class ElasticSearchInfoController { |
|
|
public ResultJson search(@RequestBody MessageBusMsg messageBusMsg)
|
|
|
{
|
|
|
|
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "ddtm","creatime");
|
|
|
Sort sort = Sort.by(Sort.Direction.DESC, "MSG.HEADER.DDTM","ADMIN.CREATTIME");
|
|
|
ESPage page = ESPage.of(messageBusMsg.getPageNum()-1,messageBusMsg.getPageSize(),sort);
|
|
|
/**
|
|
|
* term精确字段检索不要与matchQuery检索混用
|
...
|
...
|
@@ -139,7 +140,7 @@ public class ElasticSearchInfoController { |
|
|
log.info(new Date().toString());
|
|
|
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
|
|
|
searchSourceBuilder.query(queryBuilder);
|
|
|
Page<MessageBusMsg> data = elasticSearchInfoService.search(searchSourceBuilder,MessageBusMsg.class,page);
|
|
|
Page<MESSAGEBUS> data = elasticSearchInfoService.search(searchSourceBuilder,MESSAGEBUS.class,page);
|
|
|
ResultJson resultJson = new ResultJson("200","success",data);
|
|
|
return resultJson;
|
|
|
}
|
...
|
...
|
@@ -148,33 +149,33 @@ public class ElasticSearchInfoController { |
|
|
|
|
|
//and条件
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getSndr())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("sndr",messageBusMsg.getSndr()));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("MSG.HEADER.SNDR",messageBusMsg.getSndr()));
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getBtype())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("btype",messageBusMsg.getBtype()));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("MSG.HEADER.TYPE",messageBusMsg.getBtype()));
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getStype())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("stype",messageBusMsg.getStype()));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("MSG.HEADER.STYPE",messageBusMsg.getStype()));
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getSeqn())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("seqn",messageBusMsg.getSeqn()));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("MSG.HEADER.SEQNO",messageBusMsg.getSeqn()));
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getMsgid())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("msgid",messageBusMsg.getMsgid()));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("ADMIN.MSGID",messageBusMsg.getMsgid()));
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getRcvrsUserName())){
|
|
|
queryBuilder = queryBuilder.should(QueryBuilders.termQuery("rcvrs.username",messageBusMsg.getRcvrsUserName()));
|
|
|
}
|
|
|
// if (StringUtils.isNotBlank(messageBusMsg.getRcvrsUserName())){
|
|
|
// queryBuilder = queryBuilder.should(QueryBuilders.termQuery("rcvrs.username",messageBusMsg.getRcvrsUserName()));
|
|
|
// }
|
|
|
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getRcvlogUsername())){
|
|
|
queryBuilder = queryBuilder.should(QueryBuilders.termQuery("rcvlog.username",messageBusMsg.getRcvlogUsername()));
|
|
|
queryBuilder = queryBuilder.should(QueryBuilders.termQuery("ADMIN.RCVLOG.USER",messageBusMsg.getRcvlogUsername()));
|
|
|
}
|
|
|
if (messageBusMsg.getCreatimeSearch() !=null && !messageBusMsg.getCreatimeSearch().isEmpty() && StringUtils.isNotBlank(messageBusMsg.getCreatimeSearch().get(0)) && StringUtils.isNotBlank(messageBusMsg.getCreatimeSearch().get(1))){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.rangeQuery("ddtm").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.rangeQuery("MSG.HEADER.DDTM").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
|
|
|
//or条件
|
|
|
queryBuilder = queryBuilder.should(QueryBuilders.rangeQuery("creatime").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
|
|
|
queryBuilder = queryBuilder.should(QueryBuilders.rangeQuery("MSG.ADMIN.CREATTIME").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getMsgid())){
|
...
|
...
|
@@ -182,7 +183,7 @@ public class ElasticSearchInfoController { |
|
|
}
|
|
|
//wild搜索大写搜不到小写也搜不到大写的包含,要转成小写
|
|
|
if (StringUtils.isNotBlank(messageBusMsg.getAlias_sendContent())){
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.wildcardQuery("msg", "*"+messageBusMsg.getAlias_sendContent().toLowerCase()+"*"));
|
|
|
queryBuilder = queryBuilder.must(QueryBuilders.wildcardQuery("MSG.BODY", "*"+messageBusMsg.getAlias_sendContent().toLowerCase()+"*"));
|
|
|
}
|
|
|
log.info("bool查询语句为:{}",queryBuilder);
|
|
|
return queryBuilder;
|
...
|
...
|
|