# Bool filter does not support "minimum\_number\_should\_match"?

**URL:** <https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013>\
**Category:** Elasticsearch\
**Created:** [June 7, 2012, 10:47pm UTC](https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013 "2012-06-07T22:47:50Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chunlei\_Wu](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chunlei_wu/32/824_2.png) [@Chunlei\_Wu](https://discuss.elastic.co/u/Chunlei_Wu)\
**Post date:** [June 7, 2012, 10:47pm UTC](https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013/1 "2012-06-07T22:47:50Z")

</div>

I'm using latest pyes (v0.19) and elasticsearch (v0.19.4). Pyes seems  
always adding "minimum\_number\_should\_match" parameter to the "should"  
BoolQuery.

This works just fine:

q1 = pyes.BoolQuery()  
q1.add\_should(pyes.TermQuery('\_id', '1'))  
conn.search(q1)

But if I put it into a filter, it breaks.

q2 = pyes.FilteredQuery(pyes.MatchAllQuery(), q1)  
conn.search(q2)

QueryParsingException[[...] [bool] filter does not support  
[minimum\_number\_should\_match]];

I don't remember this was a problem before I upgraded Elasticsearch  
(probably was 0.18.x)? Any reason why Bool filter does not support  
"minimum\_number\_should\_match"? Or maybe pyes should remove it from Bool  
Filter?

Thanks,

Chunlei

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [June 8, 2012, 12:19am UTC](https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013/2 "2012-06-08T00:19:32Z")

</div>

It was never supported in a bool filter, in 0.19 it now throws a proper  
failure.

On Fri, Jun 8, 2012 at 12:47 AM, Chunlei Wu [reillywu@gmail.com](mailto:reillywu@gmail.com) wrote:

> I'm using latest pyes (v0.19) and elasticsearch (v0.19.4). Pyes seems  
> always adding "minimum\_number\_should\_match" parameter to the "should"  
> BoolQuery.
> 
> This works just fine:
> 
> q1 = pyes.BoolQuery()  
> q1.add\_should(pyes.TermQuery('\_id', '1'))  
> conn.search(q1)
> 
> But if I put it into a filter, it breaks.
> 
> q2 = pyes.FilteredQuery(pyes.MatchAllQuery(), q1)  
> conn.search(q2)
> 
> QueryParsingException[[...] [bool] filter does not support  
> [minimum\_number\_should\_match]];
> 
> I don't remember this was a problem before I upgraded Elasticsearch  
> (probably was 0.18.x)? Any reason why Bool filter does not support  
> "minimum\_number\_should\_match"? Or maybe pyes should remove it from Bool  
> Filter?
> 
> Thanks,
> 
> Chunlei

---

<div class="post-metadata">

**Author:** ![Chunlei\_Wu](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/chunlei_wu/32/824_2.png) [@Chunlei\_Wu](https://discuss.elastic.co/u/Chunlei_Wu)\
**Post date:** [June 8, 2012, 12:32am UTC](https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013/3 "2012-06-08T00:32:24Z")

</div>

I see, that explains. So it should be at pyes side to remove  
"minimum\_number\_should\_match" parameter from bool filter.

Thanks,

Chunlei

---

<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 6, 2017, 3:25am UTC](https://discuss.elastic.co/t/bool-filter-does-not-support-minimum-number-should-match/8013/4 "2017-07-06T03:25:16Z")

</div>


