Elasticsearch判断多列存在、bool条件组合查询示例

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语句。

上一篇:队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1


下一篇:史上最全的spark面试题——持续更新中