# How to use multiple fields in exists query in Java API in Elasticsearch 2.4.4

**URL:** <https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858>\
**Category:** Elasticsearch\
**Created:** [August 31, 2018, 11:26am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858 "2018-08-31T11:26:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yashasvi\_Raj\_Pant](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yashasvi_raj_pant/32/35022_2.png) [@Yashasvi\_Raj\_Pant](https://discuss.elastic.co/u/Yashasvi_Raj_Pant)\
**Post date:** [August 31, 2018, 11:26am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/1 "2018-08-31T11:26:42Z")

</div>

From the REST API of the elasticsearch(version 2.4.4), we can use multiple fields in exists query as:

```auto
{
  "query": {
    "exists": {
      "field": [
        "field1",
        "field2",
        "field3"
      ]
    }
  }
}

```

But I couldn't find the equivalent Java API for the same. The java class **ExistsQueryBuilder** takes only one field as the constructor. So, isn't there really any Java API for it? So, the only way to do it from Java API is using bool-should of exists query for each field?

---

<div class="post-metadata">

**Author:** ![val](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/val/32/138203_2.png) [@val](https://discuss.elastic.co/u/val)\
**Post date:** [August 31, 2018, 11:32am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/2 "2018-08-31T11:32:33Z")

</div>

I'm curious to know where did you see that you can give an array as input to the exists query?  
As far as I know, only a single field is supported.

And if you try your query, you'd get the following error:

```
[exists] unknown token [START_ARRAY] after [field]
```

---

<div class="post-metadata">

**Author:** ![Yashasvi\_Raj\_Pant](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yashasvi_raj_pant/32/35022_2.png) [@Yashasvi\_Raj\_Pant](https://discuss.elastic.co/u/Yashasvi_Raj_Pant)\
**Post date:** [August 31, 2018, 11:39am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/3 "2018-08-31T11:39:26Z")

</div>

> [@Yashasvi\_Raj\_Pant](#):
>
> { "query": { "exists": { "field": ["field1", "field2", "field3"] } } }

The above query is working for me. Elasticsearch version 2.4.4.

---

<div class="post-metadata">

**Author:** ![val](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/val/32/138203_2.png) [@val](https://discuss.elastic.co/u/val)\
**Post date:** [August 31, 2018, 11:40am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/4 "2018-08-31T11:40:13Z")

</div>

Oh, ok, I tested on 5.6 and 6.4, makes sense 🙂

---

<div class="post-metadata">

**Author:** ![Yashasvi\_Raj\_Pant](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yashasvi_raj_pant/32/35022_2.png) [@Yashasvi\_Raj\_Pant](https://discuss.elastic.co/u/Yashasvi_Raj_Pant)\
**Post date:** [August 31, 2018, 11:43am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/5 "2018-08-31T11:43:37Z")

</div>

Sorry, I forget to mention the version. Will edit it.

---

<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:** [September 28, 2018, 11:43am UTC](https://discuss.elastic.co/t/how-to-use-multiple-fields-in-exists-query-in-java-api-in-elasticsearch-2-4-4/146858/6 "2018-09-28T11:43:47Z")

</div>

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