0

我查看了 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,爱奇艺

4

1 回答 1

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并以这种方式发出此查询。

于 2018-07-25T08:14:35.447 回答