Yii2 elasticSearch 多值查询的例子,相当于关系型数据库的in查询
$should = [];
if(is_array($customers) && !empty($customers)){
foreach($customers as $one){
$should[] = ['term' => ['customer_id' => $one['customer_id']]];
}
}
$filter_arr['bool']['should'] = $should;
$result = $obj::find()->filter($filter_arr)
->query($query_arr)
->asArray()
->limit(0)
->offset(33)
->all();
$data = BaseArrayHelper::getColumn($result, '_source');
查询数组字段,$filter的定义如下:
$filter_arr = [
'bool' => [
'must' => [
['term' => ['emails' => $email],]
]
],
];