ES多条件查询,通过for循环获取queryBuilder对象,如何在循环动态调用must方法?

图片说明

如何动态添加must方法,
循环一次srb.setQuery(QueryBuilders.boolQuery().must(queryBuilder1)).execute().actionGet();
循环两次srb.setQuery(QueryBuilders.boolQuery().must(queryBuilder1).must(queryBuilder2)).execute().actionGet();
循环三次srb.setQuery(QueryBuilders.boolQuery().must(queryBuilder1).must(queryBuilder2).must(queryBuilder3)).execute().actionGet();

我不知道你的jar包和我的是不是一样的,你点进must方法你就能看到返回的是this,所有你这个想法和下面是一样的。在循环外给他一个初始的query,在循环内must就行

BoolQueryBuilder origin = QueryBuilders.boolQuery();
origin.must(queryBuilder1);
origin.must(queryBuilder2);