# Unexpected result has minimum\_should\_match from bool + terms query

**URL:** <https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801>\
**Category:** Elasticsearch\
**Created:** [May 24, 2016, 8:20am UTC](https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801 "2016-05-24T08:20:33Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Henry\_2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henry_2/32/3449_2.png) [@Henry\_2](https://discuss.elastic.co/u/Henry_2)\
**Post date:** [May 24, 2016, 8:20am UTC](https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801/1 "2016-05-24T08:20:33Z")

</div>

I'm sorry.  
This is resolved.

I replaced "miminum\_should\_match" to "min\_should\_match" on TermsQuery.

==========================  
Hello guys.

I have a bool + terms query:  
{  
"size": 10,  
"query" : {  
"bool" : {  
"must": [  
{  
"terms": {  
"title": [  
"nike",  
"sport"  
]  
}  
}  
],  
"minimum\_number\_should\_match": 2  
}  
}  
}

or

{  
"size": 10,  
"query" : {  
"bool" : {  
"should": [  
{  
"terms": {  
"title": [  
"nike",  
"sport"  
]  
}  
}  
],  
"minimum\_should\_match": 2  
}  
}  
}

This query means title field must have two keyword which are nike and sport.  
but i have below result.  
...  
"\_index" : "product",  
"\_type" : "deal",  
"\_id" : "AVThxx44V\_2\_BBvDN\_y5",  
"\_score" : 3.9251113,  
"\_source" : {  
"id" : 25006,  
"item\_group\_id" : 36047,  
"title" : "[Nike] Inspiration and Innovation for Every Athlete in the World.",  
...

Why does not work minimum\_should\_match:2?

[Environment]

- OS : Ubuntu 14.04
- Elasticsearch : 2.3.3
- JDK : 1.8.x

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 25, 2016, 9:03am UTC](https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801/2 "2016-05-25T09:03:14Z")

</div>

> [@Henry\_2](#):
>
> I'm sorry.This is resolved.

Resolved how? Sharing may help others in future.

---

<div class="post-metadata">

**Author:** ![Henry\_2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henry_2/32/3449_2.png) [@Henry\_2](https://discuss.elastic.co/u/Henry_2)\
**Post date:** [May 26, 2016, 9:19am UTC](https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801/3 "2016-05-26T09:19:01Z")

</div>

This issue is working on the REST API.  
Still, Java API is not working.  
Because, TermsQueryBuilder doesn't support min\_should\_match so I changed over terms query to bool query and multiple term query.

---

<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, 10:48pm UTC](https://discuss.elastic.co/t/unexpected-result-has-minimum-should-match-from-bool-terms-query/50801/4 "2017-07-05T22:48:53Z")

</div>


