Elasticsearch Java Jest client query builder range with bool query Elasticsearch Java Jest client query builder range with bool query elasticsearch elasticsearch

Elasticsearch Java Jest client query builder range with bool query


Try this.

QueryBuilder rangeQuery = QueryBuilders.rangeQuery("field").from("2016-01-01||/D").to("2017-01-01||/D").includeLower(true).includeUpper(false);QueryBuilder termsQuery = QueryBuilders.boolQuery().must(QueryBuilders.termsQuery("field1","12")).must(QueryBuilders.termQuery("field2", "abc")).must(QueryBuilders.termQuery("field3", "def"));QueryBuilder qb = QueryBuilders.boolQuery().should(rangeQuery).should(termsQuery);


You need a range query like below:

QueryBuilder rangeQ = QueryBuilders                    .rangeQuery("begindate")                    .from(5)                    .to(10);

then combine the two queries with a should:

QueryBuilder qb = QueryBuilders                    .boolQuery()                    .should(rangeQ)                    .should(boolQ);

Take a look at this post: How to construct a boolquery dynamically in java api? for more information.