es的查询构造
QueryBuilder queryBuilder ;
BoolQueryBuilder boolQueryBuilder;
switch (conditionItem.op()){
case CompareChar.COMPARE_EQ:
queryBuilder = QueryBuilders.termQuery(conditionItem.field(),conditionItem.value());
break;
case CompareChar.COMPARE_NE:
boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.mustNot(QueryBuilders.termQuery(conditionItem.field(),conditionItem.value()));
queryBuilder = boolQueryBuilder;
break;
case CompareChar.COMPARE_GE:
queryBuilder = QueryBuilders.rangeQuery(conditionItem.field()).gte(conditionItem.value());
break;
case CompareChar.COMPARE_GT:
queryBuilder = QueryBuilders.rangeQuery(conditionItem.field()).gt(conditionItem.value());
break;
case CompareChar.COMPARE_LE:
queryBuilder = QueryBuilders.rangeQuery(conditionItem.field()).lte(conditionItem.value());
break;
case CompareChar.COMPARE_LT:
queryBuilder = QueryBuilders.rangeQuery(conditionItem.field()).lt(conditionItem.value());
break;
case CompareChar.COMPARE_LIKE:
queryBuilder = QueryBuilders.wildcardQuery(conditionItem.field(),"*"+conditionItem.value()+"*");
break;
case CompareChar.COMPARE_LIKE_LEFT:
queryBuilder = QueryBuilders.wildcardQuery(conditionItem.field(),conditionItem.value()+"*");
break;
case CompareChar.COMPARE_LIKE_RIGHT:
queryBuilder = QueryBuilders.wildcardQuery(conditionItem.field(),"*"+conditionItem.value());
break;
case CompareChar.COMPARE_IS_NULL:
boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.mustNot(QueryBuilders.existsQuery(conditionItem.field()));
queryBuilder = boolQueryBuilder;
break;
case CompareChar.COMPARE_IS_NOT_NULL:
queryBuilder = QueryBuilders.existsQuery(conditionItem.field());
break;
case CompareChar.COMPARE_BETWEEN:
queryBuilder = QueryBuilders.rangeQuery(conditionItem.field()).
gte(conditionItem.lowValue()).lte(conditionItem.highValue());
break;
case CompareChar.COMPARE_IN:
queryBuilder = QueryBuilders.termsQuery(conditionItem.field(), conditionItem.valueArray());
break;
case CompareChar.COMPARE_NOT_IN:
boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.mustNot(QueryBuilders.idsQuery().queryName(conditionItem.field()).addIds(conditionItem.strValueArray()));
queryBuilder = boolQueryBuilder;
break;
default:
queryBuilder = null;
break;
}
return queryBuilder;
es联合查询
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();