MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

ElasticSearch e ricerca su più campi in PHP

È a causa di come funzionano gli array PHP, stai sovrascrivendo i terms interroga ogni volta, prova invece qualcosa sulla falsariga di:

array(
    'body' => array('query' => 
    'bool' => array(
        'must' => array(
            array('terms' => array('country' => implode(' ', $countries))),
            array('terms' => array('category' => implode(' ', $category))),
        )
    )
))

minimum_should_match è inutile con must clausola della query.