# OR query in ElasticSearch 2.0

**URL:** https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333
**Category:** Elasticsearch
**Created:** [November 11, 2015, 1:54pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333 "2015-11-11T13:54:38Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![jygoubet](https://avatars.discourse-cdn.com/v4/letter/j/c77e96/32.png) [@jygoubet](https://discuss.elastic.co/u/jygoubet)
#### Post date: [November 11, 2015, 1:54pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/1 "2015-11-11T13:54:38Z")

</div>

Hi,  
I don't understand what happened to the OR filter in 2.0, I understand that AND filters can be replaced with multiple filter clauses in a bool query but I don't get how to manage it with the OR condition.  
Any ideas ?  
Thanks

---

<div class="post-metadata">

### Author: ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)
#### Post date: [November 11, 2015, 5:23pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/2 "2015-11-11T17:23:37Z")

</div>

AND clauses are basically MUSTs in a boolean query and OR clauses translate  
to SHOULDs.

Ivan

---

<div class="post-metadata">

### Author: ![jygoubet](https://avatars.discourse-cdn.com/v4/letter/j/c77e96/32.png) [@jygoubet](https://discuss.elastic.co/u/jygoubet)
#### Post date: [November 11, 2015, 5:55pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/3 "2015-11-11T17:55:37Z")

</div>

Thanks Ivan but that's partially true as MUST and SHOULD clauses have incidence on scoring and filter not 😕

---

<div class="post-metadata">

### Author: ![polyfractal](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/polyfractal/32/48162_2.png) [@polyfractal](https://discuss.elastic.co/u/polyfractal)
#### Post date: [November 11, 2015, 6:20pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/4 "2015-11-11T18:20:17Z")

</div>

To do a filtered OR, you can add a `bool` inside the `filter` (of another `bool`) which contains all your OR'd clauses

```auto
{
    "query": {
        "bool": {
            "filter": {
                "bool": {
                    "should": [
                      {...},
                      {...},
                      {...}
                    ]
                }
            }
        }
    }
}

```

---

<div class="post-metadata">

### Author: ![jygoubet](https://avatars.discourse-cdn.com/v4/letter/j/c77e96/32.png) [@jygoubet](https://discuss.elastic.co/u/jygoubet)
#### Post date: [November 12, 2015, 8:55am UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/5 "2015-11-12T08:55:11Z")

</div>

That's why 🙂  
Thanks a lot Zachary

---

<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: [July 5, 2017, 11:39pm UTC](https://discuss.elastic.co/t/or-query-in-elasticsearch-2-0/34333/6 "2017-07-05T23:39:03Z")

</div>


