如何在elasticsearch中查询两种不同的类型。
作为一个例子,我已经把条件设置为获取数据类型为男性和女性的数据。
但它不适合我。
任何人都知道如何在术语中放置多个条件或在术语条件中放置全部匹配。
$typefilter = array('male', 'female');
if ($request->request->get('male') && $request->request->get('female') ) {
$params['body']['query']['bool']['must'][] = array(
'term' => array(
"type" => implode(" ", $type)
)
);
}
答案 0 :(得分:1)
您需要使用terms
代替term
$typefilter = array('male', 'female');
if ($request->request->get('male') && $request->request->get('female') ) {
$params['body']['query']['bool']['must'][] = array(
'terms' => array( <--- CHANGE HERE
"type" => $typefilter <--- CHANGE HERE
)
);
}