C'est à cause du fonctionnement des tableaux PHP que vous écrasez les terms
requête à chaque fois, essayez plutôt quelque chose comme :
array(
'body' => array('query' =>
'bool' => array(
'must' => array(
array('terms' => array('country' => implode(' ', $countries))),
array('terms' => array('category' => implode(' ', $category))),
)
)
))
minimum_should_match
est inutile avec must
clause de la requête.