栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ElasticSearch的年和每周汇总

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ElasticSearch的年和每周汇总

这有一些细微的陷阱,您需要意识到。首先,Elasticsearch使用Joda Time API来处理与日期时间相关的内容。

其次,来看看这个的“周”究竟是怎样的解释:

以星期为基础的年份是将日期表示为星期几,星期数和年份(以星期为基础)的一年。以下描述是此库中此方法的实现所使用的ISO8601标准。

每周从1到52-53。将一周的第一天定义为星期一,并赋予其值1。

一年的第一周定义为一年中至少有四天的第一周。由于此定义,第1周可能会延续到上一年,而第52/53周可能会延续到下一年。因此,需要周年字段。

例如,2003-01-01是星期三。这意味着2003年是该周的五天,从周三到周日。因此,整周被认为是2003年的第一周。由于所有周从星期一开始,因此2003年的第一周从2002年12月30日开始,即。在2002年。

基于星期的年份具有特定的文本格式。2002-12-30(2002年12月30日星期一)将表示为2003-W01-1。2003-01-01(2003年1月1日,星期三)将表示为2003-W01-3。

因此,在您的情况下,您会看到2008年12月29日属于第一周,因为2008年12月29日所在的一周是2008年的三天和2009年的四天。根据上述规则,这是从2009年。这与leap年无关。举一个例子,尝试索引31-12-2009和31-12-2015。两者都会给您第53周的时间,而且它们都不是leap年。

为了更好地了解这些内容,我建议您采用以下格式进行汇总

"format": "x-w---yyyy-MM-dd"

{  "size": 0,  "aggs": {    "activities_per_year": {      "date_histogram": {        "field": "start",        "interval": "1y",        "format": "yyyy"      },      "aggs": {        "activities_per_week": {          "date_histogram": { "field": "start", "interval": "week", "format": "x-w---yyyy-MM-dd"          }        }      }    }  }}


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

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

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