在Es中使用 统计,折线图
“field”:是你要通过什么字段分割 指定你的日期的字段,
“fixed_interval”: 是按多久分割, 这是基于Es7.0之后的
然后下面的filed 的意思也是指定字段,
而size = 10000的原因是因为 不写size 的话 Es 只会给你返回10条 不会给你全部返回,而我当时项目需要我使用当前时间的全部数据,所以我给的size为10000

GET osintb/_search?size=0
{
  "query": {
    "bool": {
      "filter": {
        "range": {
            "metaData.pubTime": {
              "gte": "2021-01-05 00:00:00",
              "lte": "2021-01-06 00:00:00"
            }
        }
      }
    }
  },
  "aggs": {
    "group_by_state": {
      "date_histogram": {
        "field": "metaData.pubTime",
        "fixed_interval": "1h",
        "min_doc_count": 0
      }
    },
    "all_interests": {
      "terms": {
        "field": "metaData.website",
        "size": 10000
      }
    }
  }
}

我上面的语句的意思是通过时间 2021年1月5日到2021年1月6日 以一个小时分割并且统计metaData.website 这个字段出现过多少次以下是结果

在这里插入图片描述
在这里插入图片描述
java 实现es以上聚合 点击这里

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐