Exi*_*ris 5 elasticsearch kibana kibana-4
我们获得了一个Elasticsearch索引,其中包含带有带有称为设备的任意嵌套对象的子集的文档。这些设备中的每一个都有一个键调用“ aw”。我试图完成的工作是获取aw每种设备类型的平均密钥。当试图汇总和可视化此平均值时,我没有得到aw每种设备类型的平均值,而是得到包含特定设备的文档中所有设备的平均值。
因此,Elasticsearch / Kibana不会获取所有文档device.id=7并汇总aw每个device.id文档,device.id=7而是获取包含的所有文档,然后使用文档中的所有设备构建其平均值。
输出索引映射如下所示(仅重要部分):
"mappings" : {
"devdocs" : {
"_all": { "enabled": false },
"properties" : {
"cycle": {
"type": "object",
"properties": {
"t": {
"type": "date",
"format": "dateOptionalTime||epoch_second"
}
}
},
"devices": {
"type": "nested",
"include_in_parent": true,
"properties": {
"name": {
"type": "string",
"index": "not_analyzed"
},
"aw": {
"type": "long"
}
"t": {
"type": "date",
"format": "dateOptionalTime||epoch_second"
},
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Kibana生成以下查询:
{
"size": 0,
"query": {
"filtered": {
"query": {
"query_string": {
"analyze_wildcard": true,
"query": "*"
}
},
"filter": {
"bool": {
"must": [
{
"range": {
"cycle.t": {
"gte": 1290760324744,
"lte": 1448526724744,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
}
}
},
"aggs": {
"2": {
"terms": {
"field": "devices.name",
"size": 35,
"order": {
"1": "desc"
}
},
"aggs": {
"1": {
"avg": {
"field": "devices.aw"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以汇总aw设备级别的平均值,或者我做错了什么?
| 归档时间: |
|
| 查看次数: |
2141 次 |
| 最近记录: |