# Java High Level REST Client: Slow BooleanQuery with Filters

**URL:** <https://discuss.elastic.co/t/java-high-level-rest-client-slow-booleanquery-with-filters/193185>\
**Category:** Elasticsearch\
**Created:** [July 31, 2019, 4:55pm UTC](https://discuss.elastic.co/t/java-high-level-rest-client-slow-booleanquery-with-filters/193185 "2019-07-31T16:55:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![bjliu](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/bjliu/32/51163_2.png) [@bjliu](https://discuss.elastic.co/u/bjliu)\
**Post date:** [July 31, 2019, 4:55pm UTC](https://discuss.elastic.co/t/java-high-level-rest-client-slow-booleanquery-with-filters/193185/1 "2019-07-31T16:55:52Z")

</div>

I am struggling to figure out how to optimize this query for the Java High Level Rest Client.  
The code below takes about 500 milliseconds when I used Java VisualVM to profile the code.

When I ran an equivalent call on the Kibana development console, it took about 150 milliseconds on the Chrome Developer Tool Network Tab.

I'm pretty sure the culprit is my code below but I don't really understand why:

```
private BoolQueryBuilder createBooleanQueryBuilder(String query, String filter1, String filter2, 
    String filter3, String filter4a, String filter4b) {
        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
                .must(QueryBuilders.multiMatchQuery(query)
                        .field("title", 10)
                        .field("body"))
                .filter(QueryBuilders.termQuery("field_filter1", filter1))
                .filter(QueryBuilders.termQuery("field_filter2", filter2))
                .filter(QueryBuilders.termQuery("field_filter3", filter3))
                .filter(QueryBuilders.termsQuery("field_filter4", filter4a, filter4b));
        return boolQueryBuilder;

```

Here is the rundown of the CPU performance of the threads from VisualVM.

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/9/9/99e2f8735b7dc1e6424b6f31a18802d66f5f6147.png)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 28, 2019, 4:56pm UTC](https://discuss.elastic.co/t/java-high-level-rest-client-slow-booleanquery-with-filters/193185/2 "2019-08-28T16:56:07Z")

</div>

Closed on August 28, 2019, 4:56pm UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
