如何在crateDB中执行ip / date / histogram范围查询(例如在Elasticsearch中)?

时间:2018-06-22 09:58:27

标签: crate cratedb

我已经查阅了crateDB官方文档,但是还没有找到如何执行range查询的方法。在Elasticsearch中,操作如下:

curl -X GET "localhost:9200/_search" -H 'Content-Type: application/json' -d'
{
    "aggs" : {
        "price_ranges" : {
            "range" : {
                "field" : "price",
                "ranges" : [
                    { "to" : 100.0 },
                    { "from" : 100.0, "to" : 200.0 },
                    { "from" : 200.0 }
                ]
            }
        }
    }
}
'


 {
    "size": 0,
    "aggs": {
        "histogram_bucket": {
            "histogram": {
                "field": "dport",
                "interval": 5000
            }
        }
    }
}

有解决方案吗? thx,爱奇耶

1 个答案:

答案 0 :(得分:0)

不幸的是,CrateDB不以这种方式支持范围查询。它在WHERE子句中执行,但在GROUP BY子句中不执行。尽管CrateDB确实支持百分位数https://crate.io/docs/crate/reference/en/latest/general/builtins/aggregation.html#percentile,但它目前没有定义直方图存储桶和区间的任何功能。

但是,您可以公开elasticsearch API https://crate.io/docs/crate/reference/en/0.57/configuration.html#elasticsearch-http-rest-api并以此方式发出此查询。