Elasticsearch - 搜索不在
Elasticsearch - Search NOT IN
我有很多文档几乎都是这样定义的:
{
"id": 1,
"createdBy": 1379662
"content": "foo"
}
{
"id": 2,
"createdBy": 549674
"content": "bar"
}
我正在尝试获取 createdBy
不在列表中的所有文档:
{
"post_filter":{
"bool":{
"must_not":[
{
"term":{
"createdBy":[
1379662,
18475
]
}
}
]
}
},
"query":{
"match_all":{
}
}
}
但是我仍然得到了 1379662 创建的文档。
如果我在我的数组中只使用一个值,它是有效的
"term":{
"createdBy":[1379662]
}
我们在此项目上使用的是旧版本的 ES (1.7.5)。但是有解决办法吗?
感谢您的帮助
布菲
使用terms
代替term
{
"post_filter":{
"bool":{
"must_not":[
{
"terms":{ <--- change this
"createdBy":[
1379662,
18475
]
}
}
]
}
},
"query":{
"match_all":{
}
}
}
我有很多文档几乎都是这样定义的:
{
"id": 1,
"createdBy": 1379662
"content": "foo"
}
{
"id": 2,
"createdBy": 549674
"content": "bar"
}
我正在尝试获取 createdBy
不在列表中的所有文档:
{
"post_filter":{
"bool":{
"must_not":[
{
"term":{
"createdBy":[
1379662,
18475
]
}
}
]
}
},
"query":{
"match_all":{
}
}
}
但是我仍然得到了 1379662 创建的文档。 如果我在我的数组中只使用一个值,它是有效的
"term":{
"createdBy":[1379662]
}
我们在此项目上使用的是旧版本的 ES (1.7.5)。但是有解决办法吗?
感谢您的帮助
布菲
使用terms
代替term
{
"post_filter":{
"bool":{
"must_not":[
{
"terms":{ <--- change this
"createdBy":[
1379662,
18475
]
}
}
]
}
},
"query":{
"match_all":{
}
}
}