示例-Select * from table1 where id not in ('a','b','c')

我正在使用这个:

$searchParams = array();
$searchParams['index'] = 'articles';
$searchParams['type']  = 'staging';
$searchParams['size']= $size;
$searchParams['body']['filter']['bool']['must_not']['term']['_id'] = $filter;
$filter变量具有此['a','b','c']格式的一些ID

但是它没有返回正确的结果。有什么建议吗?

编辑:-
我需要在 flex 搜索中基于_id列过滤结果

最佳答案

我认为应该是terms而不是term:

$searchParams['body']['filter']['bool']['must_not']['terms']['_id'] = $filter;

要么
$searchParams['body']['filter']['bool']['must_not'][]['terms']['_id'] = $filter;

termsbool queries。但是我不是这方面的专家。

10-01 10:23