Elasticsearch复杂条件查询

Elasticsearch复杂条件查询

select * from where (class2=“空气质量” and type3=“国家”) or (class2=“水质量”
and class3=国家)

PUT /_bulk
{"index":{"_index":"test_join","_id":1}}
{"context":"测试数据[空气质量-国家]","class1":"监测","class2":"空气质量","class3":"国家"}
{"index":{"_index":"test_join","_id":2}}
{"context":"测试数据[空气质量-地方]","class1":"监测","class2":"空气质量","class3":"地方"}
{"index":{"_index":"test_join","_id":3}}
{"context":"测试数据[空气质量-其它]","class1":"监测","class2":"空气质量","class3":"其它"}
{"index":{"_index":"test_join","_id":4}}
{"context":"测试数据[水质量-国家]","class1":"监测","class2":"水质量","class3":"国家"}
{"index":{"_index":"test_join","_id":5}}
{"context":"测试数据[水质量-地方]","class1":"监测","class2":"水质量","class3":"地方"}
{"index":{"_index":"test_join","_id":6}}
{"context":"测试数据[水质量-区县]","class1":"监测","class2":"水质量","class3":"区县"}
{"index":{"_index":"test_join","_id":7}}
{"context":"测试数据[空气质量-国家]","class1":"监测","class2":"空气质量","class3":"国家"}
{"index":{"_index":"test_join","_id":8}}
{"context":"测试数据[空气质量-地方]","class1":"监测","class2":"空气质量","class3":"地方"}
{"index":{"_index":"test_join","_id":9}}
{"context":"测试数据[空气质量-地方]","class1":"监测","class2":"水质量","class3":"地方"}
{"index":{"_index":"test_join","_id":10}}
{"context":"测试数据[空气质量-地方]","class1":"监测","class2":"水质量","class3":"区县"}
GET test_join/_search


POST test_join/_search
{
  "size": 10,
  "query": {
    "bool": {
      "should": [
      {
        "bool": {
          "must": [
          {
            "term": {
              "class2.keyword": {
                "value": "空气质量"
              }
            }
          },
          {
            "term": {
              "class3.keyword": {
                "value": "国家"
              }
            }
          }
          ]
        }
      },
      {
        "bool": {
          "must": [
          {
            "term": {
              "class2.keyword": {
                "value": "水质量"
              }
            }
          },
          {
            "terms": {
              "class3.keyword": [
                "国家",
                "区县"
              ]
            }
          }
          ]
        }
      }
      ]
    }
  }
}


POST test_join/_search
{
  "size": 1,
  "query": {"match_all": {}},
  "aggs": {
    "agg1": {
       "terms": {
         "field": "class1.keyword",
         "size": 10
       }
      ,"aggs": {
        "agg2": {
          "terms": {
            "field": "class2.keyword",
            "size": 10
          },"aggs": {
            "agg3": {
              "terms": {
                "field": "class3.keyword",
                "size": 10
              }
            }
          }
        }
      }
    }
  }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值