我使用的是ElasticSearch1.7.5版
我从这篇文章中得到了一些想法:Elastic search Not filter inside and filter
下面的查询似乎没有筛选出与item_category_id
17关联的项。是否存在语法错误?在not
之外、filters
数组内部定义的术语工作正常。
{
query: {
filtered: {
filter: {
and: {
filters: [
{ not: {
filter: {
terms: {item_category_ids: [17] }
}
}
},
{ term: { user_inactive: false } },
{ term: { kind: 1 } }
]
}
}
}
}
2条答案
按热度按时间insrf1ej1#
filtered
和and/not
查询在ES 2.0中已被弃用,您应该使用bool/filter/must_not
,如下所示:对于ES 1.7,您需要将查询更改为:
hl0ma9xz2#
这就是我想要的