存储结构是这样的:
{
"key":[1,2,3,4]
}
要求查出key中同时存在 1 和 4 的数据。
使用filtered.filter.terms.key
是OR
不是AND
逻辑,不满足需求。
暂时使用的是 must
方法拼接多个参数搞定了AND查询,问题是怎么简化DSL……
array (size=2)
'query' =>
array (size=1)
'bool' =>
array (size=1)
'must' =>
array (size=4)
0 =>
array (size=1)
'term' =>
array (size=1)
'x' => string '7' (length=1)
1 =>
array (size=1)
'term' =>
array (size=1)
'enable' => int 1
2 =>
array (size=1)
'range' =>
array (size=1)
'stock' =>
array (size=1)
'gt' => int 0
3 =>
array (size=1)
'term' =>
array (size=1)
'ids' => int 75
'size' => int 1
用in查询,比如: