elasticsearch - 在Elasticsearch中将int转换为时间戳获取小时

标签 elasticsearch

select sum(a) as count , HOUR(FROM_UNIXTIME(create_time)) as h  from alert group by h
create_time类似于此1600506000。我不知道如何将int转换为时间戳。

最佳答案

考虑 UTC日期的“一天中的时间”。 一种方法可能是。

GET <indexName>/_search
{
  "size": 0,
  "aggs": {
    "NAME": {
      "terms": {
        "script": {
          "source": "Instant.ofEpochMilli(doc['create_time'].value * 1000).atZone(ZoneId.of(\"Z\")).getHour()"
        }
      },"aggs": {
        "NAME": {
          "sum": {
            "field": "a"
          }
        }
      }
    }
  }
}

关于elasticsearch - 在Elasticsearch中将int转换为时间戳获取小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63970491/

相关文章:

node.js - 如何使用elasticsearch进行多个字段的搜索?

CQRS & ElasticSearch - 使用 ElasticSearch 构建读取模型

ElasticSearch Nest 2.x 索引和搜索嵌套对象

arrays - 通过数组中的字符串进行 Elasticsearch 术语聚合

python - 如何在Python中使用Elasticsearch索引JSON格式的文件?

elasticsearch - 从ElasticSearch获取为什么结果很成功

elasticsearch - 如何在 ElasticSearch 中使用另一个查询来过滤查询

elasticsearch - 通过 Brew 升级 Elasticsearch - 现在不会以无法识别的 VM 选项 'UseConcMarkSweepGC' 错误启动

elasticsearch - 定义 _parent 字段的路径

elasticsearch - Elasticsearch Ordering术语聚合在 HitTest 门命中子聚合之后的存储桶