是否可以对 bool(boolean) 过滤器中的特定字段使用多个条件?
query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"terms": {
"events": [
"abc",
"def",
"ghi",
"jkl"
]
},
"terms" : {
"users" : [
"user_1",
"user_2",
"user_3"
]
}
}
]
}
}
}
}
第一项过滤器工作正常,但我无法使用第二项,如果我对上述查询做任何错误,请更正。
最佳答案
你快到了,忘了撑。这是正确的查询:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"terms": {
"events": [
"abc",
"def",
"ghi",
"jkl"
]
}
},
{
"terms": {
"users": [
"user_1",
"user_2",
"user_3"
]
}
}
]
}
}
}
}
}
这将评估两个条件:
基本上,每个查询/过滤器术语都需要用大括号括起来,并且必须是 sibling 。
关于elasticsearch - 我们可以在Elasticsearch过滤器中使用多个条件吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33539250/