and符号判断多列存在:{
"filter": {
"and": [
{
"exists": {
"field": "sid"
}
},
{
"exists": {
"field": "level"
}
}
]
}
}
bool组合
{
"filter": {
"and": [
{
"or": [
{
"match_phrase": {
"displayname": "s"
}
},
{
"match_phrase": {
"displayname": "l"
}
}
]
},
{
"match_phrase": {
"displayname": "a"
}
},
{
"not": {
"match_phrase": {
"displayname": "p"
}
}
}
]
}
}
注:类似的and符号替换成 bool must实际上结果是一样的;目前ElasticSearch官方推荐写法是使用bool替代之前的and or语句。