栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch聚合操作的坑

ElasticSearch聚合操作的坑

一、date_histogram聚合的坑

query: {
					bool: {
						must: [
							{
								match_phrase: {day:'20220117'}
							}
						]
						
					}
},
aggs:{
    hours:{
        date_histogram: {
									field: 'timestamp',
									min_doc_count: 0,
									interval: 'hour',
									format: 'yyyy-MM-dd hh'
									
						},


    }
}

如上聚合操作,先匹配day为指定日期的数据,然后按小时聚合,es聚合结果返回很多day不匹配的数据,解决方案:

query: {
					bool: {
						must: [
							{
								match_all: {}
							}
						],
						
						filter: {
							range: {
								timestamp: {
									gte: start,
									lte: end
								}
							}
						}
					}
},
aggs:{
    hours:{
        date_histogram: {
									field: 'timestamp',
									min_doc_count: 0,
									interval: 'hour',
									format: 'yyyy-MM-dd hh'
									
						},


    }
}

将match_phrase修改为filter,然后按时间戳过滤,最后得到正确结果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/712672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号