How to do bool Queries in ElasticSearch with Java Api? How to do bool Queries in ElasticSearch with Java Api? elasticsearch elasticsearch

How to do bool Queries in ElasticSearch with Java Api?


Is this one?

private static QueryBuilder getQueryBuilder() {    //condition    MatchQueryBuilder A = QueryBuilders.matchQuery("content", "A");    MatchQueryBuilder B = QueryBuilders.matchQuery("content", "B");    MatchQueryBuilder C = QueryBuilders.matchQuery("content", "C");    MatchQueryBuilder D = QueryBuilders.matchQuery("content", "D");    MatchQueryBuilder E = QueryBuilders.matchQuery("content", "E");    MatchQueryBuilder F = QueryBuilders.matchQuery("content", "F");    MatchQueryBuilder G = QueryBuilders.matchQuery("name", "Robin");    //Maybe you should use TermQuery    //TermQueryBuilder G = QueryBuilders.termQuery("name", "Robin");    //1.(A AND B AND C)    BoolQueryBuilder query1 = QueryBuilders.boolQuery();    query1.must(A).must(B).must(C);    //2.(D OR E OR F)    BoolQueryBuilder query2 = QueryBuilders.boolQuery();    query2.should(D).should(E).should(F);    //3.Last    BoolQueryBuilder lastQuery = QueryBuilders.boolQuery();    lastQuery.must(query1).must(query2).must(G);        //use filter    BoolQueryBuilder filterBuiler = QueryBuilders.boolQuery().filter(lastQuery);    return filterBuiler;}