【发布时间】:2016-10-21 10:00:09
【问题描述】:
我的数据
{ "city":"New York", "street":"Atlantic Avenue" }
{ "city":"New York", "street":"Hudson Street" }
{ "city":"New York", "street":"Fawn Court" }
{ "city":"Boston", "street":"Atlantic Avenue" }
{ "city":"Boston", "street":"Hudson Street" }
{ "city":"Boston", "street":"7th Avenue" }
{ "city":"Washington DC", "street":"Atlantic Avenue" }
{ "city":"Washington DC", "street":"Dogwood Drive" }
{ "city":"Washington DC", "street":"7th Avenue" }
如果我们计算每条街道出现的次数,我们将得到以下结果:
| Street name | Number of times |
|-----------------|-----------------|
| Atlantic Avenue | 3 |
| Hudson Street | 2 |
| 7th Avenue | 2 |
| Hudson Street | 1 |
| Dogwood Drive | 1 |
我的目标
我想构建一个直方图,说明有多少街道名称是唯一的,有多少街道名称被看到两次,等等......
为此,我应该得到 Terms Aggregation 的结果并将其发送到 Histogram Aggregation。
这是上面示例的结果:
| Street name count | Number of times |
|-------------------|-----------------|
| 1 | 2 |
| 2 | 2 |
| 3 | 1 |
我已经做了什么
我已经用 Kibana 和这个查询构建了第一个表:
curl -XGET 'http://localhost:9200/index1/type1/_search?pretty' -d '
{
"size": 0,
"aggs": {
"group_by_street": {
"terms": {
"field": "street"
}
}
}
}'
然后我尝试将此结果添加到直方图中:
curl -XGET 'http://localhost:9200/fingerprint/user/_search?pretty' -d '
{
"size": 0,
"aggs": {
"histogram_streets": {
"histogram": {
"field": "group_by_street>_count",
"interval": 1
},
"aggs": {
"group_by_street": {
"terms": {
"field": "street"
}
}
}
}
}
}'
但是,我检索到一个空桶。
知道我该怎么做吗?
谢谢!
【问题讨论】:
-
我很确定这个字段名是错误的:
group_by_street>_count。你想在这里做什么? -
@Phil 我想根据“group_by_street”聚合的“doc_count”字段构建直方图。
标签: elasticsearch kibana