Elasticsearch范围汇总是否包括在内

anu*_*ysh 1 elasticsearch

Elasticsearch范围聚集将数据汇总到给定范围内,即

*GET /_search*
{
    "aggs" : {
        "price_ranges" : {
            "range" : {
                "field" : "price",
                "ranges" : [
                    { "to" : 100.0 },
                    { "from" : 100.0, "to" : 200.0 },
                    { "from" : 200.0 }
                ]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但没有提及是否包含值,即存储桶中包含值包含100和200或仅包含$ gt 100和$ lt 200的文档。

以下讨论陈述了类似的疑问,但也没有定论 https://github.com/elastic/elasticsearch/issues/17079

TL:DR 范围聚合是否支持$ lte&$ gte或$ gt&$ lt,并且有一种方法可以根据用例进行聚合吗?

小智 5

“请注意,此聚合包括起始值,但不包括每个范围的起始值”

https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/search-aggregations-bucket-range-aggregation.html