elasticsearch - Elasticsearch:按ID选择多个不同的字段分组
问题描述
我有以下格式的文档的 ES 索引,这些文档是使用 Fluentd 解析器从日志中解析出来的,并在 ES 中建立索引。记录格式:
{“id”:“id1”,“field1”:“f1_val”,“消息”:“XXXX”,“时间”:“XXXX”}
{“id”:“id1”,“field2”:“f2_val”,“消息”:“XXXX”,“时间”:“XXXX”}
{“id”:“id1”,“field3”:“f3_val”,“field4”:“f4_val”,“消息”:“XXXX”,“时间”:“XXXX”}
我想按 id 字段分组并将字段分组在一起,以便我可以将数据可视化为 Kibana 仪表板中的表格,如下所示:
{“id”:“id1”,“field1”:“f1_val”,“field2”:“f2_val”,“field3”:“f3_val”,“field4”:“f4_val”}
在基巴纳:
ID 字段 1 字段 2 字段 3 字段 4 id1 f1_val f2_val f3_val f4_val
如何按文档对 id 进行分组并在 Elasticsearch 中选择不同的字段值。谢谢!
解决方案
{
"size": 0,
"aggs": {
"id_agg": {
"terms": {
"field": "id.keyword"
},
"aggs": {
"by_field1": {
"terms": {
"field": "field1.keyword"
}
},
"by_field2": {
"terms": {
"field": "field2.keyword"
}
},
"by_field3": {
"terms": {
"field": "field3.keyword"
}
}
}
}
}
}
推荐阅读
- python - 使用求解器进行 Python 优化
- perl - GeoIP2 模块的文档和代码概要在哪里?
- javascript - 散点图更新:相同数量的数据点,但新的数据点
- angular - Angular - 元素的条件属性
- oracle - 无法复制 java.sql.SQLException:ORA-00060:等待资源时检测到死锁
- python - Groupby 以及 value_counts 如何工作
- python - pyOpenCv 无法在树莓派上运行
- django - Django QuerySet - 在数组中的 id 上加入表
- c# - 如何比较变量并将变量设置为在 c# 中的一个变量中找到的新文本
- webhooks - 与格子交易保持同步的策略是什么?