首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  Elasticsearch

请教一个关于 ElasticSearch 查询的写法?

  •  
  •   jessun1990 · 189 天前 · 1688 次点击
    这是一个创建于 189 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求背景

    ES 版本为 1.5.2

    使用 olivere/elastic 对 ES 进行查询操作。假定数据文档结构为

    {
    	"id": 1,
        "create_at": "2006-01-02T15:04:05Z07:00"
    }
    

    ES 中已经有一定量的数据。

    需要查询:指定日期段 /全量时间段 内每天 00:00-02:00, 02:00-04:00 , 04:00-06:00 ... 22:00-24:00 的文档的平均值中的最高值。

    简单的统计查询已经搞定,只有这条需求感觉无从下手。目前能检索到的类似文章:

    https://elasticsearch.cn/question/893

    https://blog.csdn.net/weixin_33953249/article/details/87338463

    第一篇没生效,第二篇没看懂。我这里使用 Go 语言操作 ES 才两天,并且还有其他开发任务,没有做特别深入研究。

    请大佬们启发和赐教。

    7 回复  |  直到 2019-06-29 19:19:41 +08:00
        1
    ben1024   189 天前
    需要理解‘桶’,也就是做个聚合就行
        2
    996icu   189 天前
    时间分组聚合,官网有案例
        3
    Takamine   189 天前
    话说为什么要选 ES 的版本这么低。:smile:
        4
    jessun1990   189 天前
    @Takamine 公司既有的 es 服务,已经有其他服务在跑,无法升级。


    @ben1024
    @996icu
    时间分组聚合已经有了,就是聚合到每天。但是聚合到每天的固定时间段,这个就萌圈了。
        5
    996icu   189 天前   ♥ 1
    @jessun1990 时间区间分组聚合 dateHistogramInterval.hours(小时区间) 我只会用 JavaApi 写,DSL 不会,你可以查下 dateHistogramInterval 这个 DSL 的使用
        6
    dif   189 天前
    ```json
    GET indexName/indexType/_search
    {
    "from" : 0,
    "size" : 1,
    "query" : {
    "bool" : {
    "must" : [
    {
    "term" : {
    "Field" : {
    "value" : "value",
    "boost" : 1.0
    }
    }
    }
    ]
    }
    },
    "aggregations" : {
    "histogram" : {
    "histogram" : {
    "field" : "DATE_TIME",
    "interval" : 120.0,
    "offset" : 0.0
    },
    "aggregations" : {
    "index_value" : {
    "avg" : {
    "field" : "AVG_FIELD_NAME"
    }
    }
    }
    }
    }
    }
    ```
        7
    jessun1990   169 天前
    抱歉现在才回复
    @996icu 如果只是一个条件,求平均每日文档数,或者是求每 2 小时间隔文档数,我都回写。但是这个两个条件加起来,求平均每日 2 小时间隔的文档数,我就拙计了。

    @dif 感谢壮士,但是我这里尝试走了一下,貌似没成功。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3854 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 10:05 · PVG 18:05 · LAX 02:05 · JFK 05:05
    ♥ Do have faith in what you're doing.