Elasticsearch多条件多字段查询

BoolQueryBuilder
BoolQueryBuilder qb = QueryBuilders.boolQuery();
1,qb.must(QueryBuilder queryBuilder);  // 相当于and 
2,qb.mustNot(QueryBuilder queryBuilder)  // 相当于 and !=
3,qb.should(QueryBuilder queryBuilder))  // 相当于 or
4,qb.filter(QueryBuilder queryBuilder))  // 返回的文档必须满足filter子句的条件,但是不会像must一样,参与计算分值
多条件or查询
 // 构建布尔查询
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder();
// or
boolQueryBuilder.should(QueryBuilders.matchQuery("goodsName", "name"));
// or
boolQueryBuilder.should(QueryBuilders.matchQuery("classify1Name", "name"));
// or
boolQueryBuilder.should(QueryBuilders.matchQuery("classify2Name", "name"));
// or
boolQueryBuilder.should(QueryBuilders.matchQuery("classify3Name", "name"));
// or
boolQueryBuilder.should(QueryBuilders.matchQuery("details", "name"));
searchQueryBuilder.withQuery(boolQueryBuilder);
searchQueryBuilder.withPageable(PageRequest.of(form.getPage(), form.getSize()));
org.springframework.data.domain.Page<GoodsDto> rows = mallGoodsMapper.search(searchQueryBuilder.build());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值