博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ElasticSearch-PHP时间戳字段按照天聚合
阅读量:6581 次
发布时间:2019-06-24

本文共 1459 字,大约阅读时间需要 4 分钟。

hot3.png

正常的Elasticserach的时间戳字段按照天进行聚合应该是很简单的(date_histogram),代码如下:

{    "aggs":{        "create_date":{//别名            "date_histogram":{                "field":"create_time",//时间戳字段                "interval":"Day",                "format":"yyyy-MM-dd"//格式化日期                }            }        }    }}

interval字段支持多种关键字:year, quarter, month, week, day, hour, minute, second

出来的结果会是以下这种:

{    "aggregations":{        "create_date":{            "buckets":[{                "key_as_string":"2013-02-02",                "key":1328140800000,                "doc_count":1            },{                "key_as_string":"2013-02-03",                "key":1330646400000,                "doc_count":2            },            ...            ]}        }}

然而,对于PHP来说,time()精确到秒,而java和Elasticsearch是精确到毫秒,所以聚合出来的时候会发现所有的key_as_string字段都是1970开头的...因为考虑到表中增加字段比较麻烦,所以找到了可以利用script来实现,将PHP的时间戳乘以1000即可,方法如下:

{    "query": {        "filtered": {            "filter": {                "bool": {                    "must": [                        {                            "term": {                                "mid": "33"                            }                        }                    ]                }            }        }    },    "aggs": {        "group_by_date": {            "terms": { 				"script": "new Date(doc['created_time'].value * 1000).format('yyyy-MM-dd')"         			}        }    }}

这样聚合出来就是按照天进行聚合了。

转载于:https://my.oschina.net/wsyblog/blog/868986

你可能感兴趣的文章
firefox无法显示java插件plugin
查看>>
H3C设备之OSPF DR选举
查看>>
List grantee right in oracle
查看>>
Activity生命周期
查看>>
通过VBS编写自动输入账号和密码、自动登录程序的脚本
查看>>
MTK APSoC SDK MT7621编译固件的快速开始
查看>>
深度解析Istio系列之安全模块篇
查看>>
Linux 系统 审计
查看>>
JS -------------------设置弹出框位置屏幕的中间
查看>>
性能测试 vbs使用(一)
查看>>
1.2 linux哲学思想
查看>>
jQuery基础
查看>>
BZOJ5312:冒险——题解
查看>>
echarts,两点连线,中间断裂
查看>>
samba简易配置
查看>>
庆祝在CNBlogs开博!
查看>>
javascript reverse string
查看>>
南阳oj 题目6 喷水装置(一)
查看>>
运筹学上机实验 - 单纯形方法的两阶段法
查看>>
CF294C Shaass and Lights
查看>>