在文件清单中找到每天的最低价格

时间:2020-06-06 09:45:12

标签: elasticsearch

我们在带有以下字段的Elasticsearch文档中存储

a(关键字) b(关键字) c(关键字) 日期(日期时间) p(长)

如何找出1920年1月1日至1920年12月31日(太平洋时区)之间的每个date的最小值p

1 个答案:

答案 0 :(得分:0)

您需要结合2个元素:查询和管道聚合。 Pipeline aggregations是基于聚合的聚合-首先您每天创建存储分区(第一个聚合),然后取每个存储分区的最小值。

查询内容如下:

{
    "query": {
        "range": {
            "date": {
                "gte": "1920-12-01",
                "lte": "1920-12-31"
            }
        }
    },
    "aggs": {
        "daily": {
            "date_histogram": {
                "field": "date",
                "calendar_interval": "day"
            },
            "aggs": {
                "min_price": {
                    "min": {"field": "p"}
                }
            }
        }
    }
}
相关问题