如何使用弹性搜索中的脚本获取特定给定范围内的趋势?

问题描述 投票:0回答:1

我已经尝试过使用脚本查询,但日期覆盖很困难,任何人都可以帮助如何按天或小时或按月获取数据,提供类似下图的数据。谢谢(https://i.stack.imgur.com/4YoOQ.png

node.js amazon-elastic-beanstalk elasticsearch-aggregation
1个回答
0
投票

您可以使用“格式”功能根据您的选择获取日期字段。 我从https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html#_keys_2那里得到了一个例子

{
    "aggs" : {
        "sales_over_time" : {
            "date_histogram" : {
                "field" : "date",
                "interval" : "1M",
                "format" : "yyyy-MM-dd" 
            }
        }
    }
}

您可以进一步混合和匹配此链接中给出的格式模式,以用于特定用例https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-daterange-aggregation.html#date-format-pattern

对于您的用例,“格式”字段将为“d MMM”。 您的请求类似于以下内容:

{
    "aggs" : {
        "sales_over_time" : {
            "date_histogram" : {
                "field" : "date",
                "interval" : "1M",
                "format" : "d MMM" 
            }
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.