作者 朱兆平

es多条件查询优化

... ... @@ -165,9 +165,9 @@ public class ElasticSearchInfoController {
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.must(QueryBuilders.termQuery("ADMIN.RCVRS.USER",messageBusMsg.getRcvrsUserName()));
}
if (StringUtils.isNotBlank(messageBusMsg.getRcvlogUsername())){
queryBuilder = queryBuilder.must(QueryBuilders.termQuery("ADMIN.RCVLOG.USER",messageBusMsg.getRcvlogUsername()));
... ... @@ -176,15 +176,18 @@ public class ElasticSearchInfoController {
// queryBuilder = queryBuilder.must(QueryBuilders.rangeQuery("MSG.HEADER.DDTM").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
//or条件
queryBuilder = queryBuilder.should(QueryBuilders.rangeQuery("ADMIN.CREATTIME").from(messageBusMsg.getCreatimeSearch().get(0)).to(messageBusMsg.getCreatimeSearch().get(1)));
queryBuilder.minimumShouldMatch(1);
}
if (StringUtils.isNotBlank(messageBusMsg.getMsgid())){
queryBuilder = queryBuilder.should(QueryBuilders.termQuery("_id",messageBusMsg.getMsgid()));
queryBuilder.minimumShouldMatch(1);
}
//wild搜索大写搜不到小写也搜不到大写的包含,要转成小写
if (StringUtils.isNotBlank(messageBusMsg.getAlias_sendContent())){
queryBuilder = queryBuilder.must(QueryBuilders.wildcardQuery("MSG.BODY", "*"+messageBusMsg.getAlias_sendContent().toLowerCase()+"*"));
}
log.info("bool查询语句为:{}",queryBuilder);
return queryBuilder;
}
... ...