es数据库,must和should嵌套使用和分组统计

es数据库,must和should嵌套使用和分组统计

must和should嵌套使用

"query": {
	"bool": {
		"must": [
			{
				"bool": {
					"should": [
						{"match": {"look_user": "test1"}},
						{"match": {"userId": "test2"}}
					]
				}
			},
			{"terms": {"status": 1}},
			{"match": {"verify": 2}}
		]
	}
}
  • 意义:表示(look_user=test1 or userId=test2) and status = 1 and verify = 2

分组统计

单值统计

{
    "size": 0,
    "aggs": {
        "name_type": {
            "terms": {
                "field": "class"
            }
        }
    }
}
  • 意义:按字段名class分组统计。

多层嵌套统计

{
    "size": 0,
    "aggs": {
        "name_type": {
            "terms": {
                "field": "class"
            },
            "aggs": {
                "_B_": {
                    "terms": {
                        "field": "tag"
                    }
                }
            }
        }
    }
}
  • 意义:按字段名class和tag分组统计。

按时间统计

body = {
    "query": {  # 按时间范围查找
        "range": {
            "save_time": {
                "gte": "2022-06-01",
                "lt": "2022-06-04"
            }
        }
    },
    "size": 0,
    "aggs": {
        "groupDate": {
            "date_histogram": {
                "field": "save_time",
                "interval": "day",    # 按时间分天统计,year, quarter, month, week, day, hour, minute, second(年份、季度、月、周、日、小时、分钟、秒)
                "format": "yyyy-MM-dd"
            }
        }
    }
}
  • 意义:在 2022-06-01 到2022-06-04之间,统计每天更新数据数据
  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值