【发布时间】:2020-10-15 14:35:51
【问题描述】:
我使用的是 Kibana 6.5.1 版。
我的文档如下所示:
第一
{
"id": 12345,
"source": "Github",
"creation_date": "2020-10-14"
"files": [
{
"file_id": 444,
"file_name": "test.png",
"file_type": "png"
},
{
"file_id": 445,
"file_name": "test2.pdf",
"file_type": "pdf"
},
{
"file_id": 446,
"file_name": "test3.pdf",
"file_type": "pdf"
}
]
}
秒
{
"id": 12346,
"source": "stackoverflow",
"creation_date": "2020-10-14"
"files": [
{
"file_id": 447,
"file_name": "example.pdf",
"file_type": "pdf"
},
{
"file_id": 448,
"file_name": "anotherOne.pdf",
"file_type": "pdf"
}
]
}
等等。
我想创建如下所示的数据表:
file_type | count
------------------
png | 1
pdf | 4
所以在左侧我们可以看到 files.file_type,在右侧是所有文档中每个文件的计数。
我尝试设置 files.file_id 的唯一计数和字段聚合的拆分行 files.file_type.keyword
但我得到了这张桌子:
file_type | count
------------------
png | 3
pdf | 5
而且看起来不错,如果嵌套的“文件”字段中至少有一个文件与 file_type 匹配,它会计算一个文档中的所有文件。
我怎样才能让它看起来像第一张桌子?指标中的 JSON 输入会有所帮助吗?
【问题讨论】:
-
你试过file_type聚合的唯一计数吗?
-
@Nejatians 是的,在这种情况下,它会为每个文档中的两种独特类型显示 2 个 pdf 和 2 个 png
-
你能添加你的映射吗?您的字段被映射为嵌套字段?
标签: elasticsearch kibana