gpt4 book ai didi

elasticsearch - 使用过滤器对Kibana/Visualize中的值进行计数?

转载 作者:行者123 更新时间:2023-12-03 00:06:34 31 4
gpt4 key购买 nike

(我对ELK堆栈很陌生,可能会问一些明显的问题...)

我有描述客户信息的文档,其中包含姓名,地址,年龄等数据。
有时,并非所有这些字段都存在,我想知道填写这些文件的数量。

如果数据看起来像:

PUT customers
{
"mappings": {
"customer": {
"properties": {
"id": {
"type": "integer"
},
"category": {
"type": "keyword"
},
"email": {
"type": "text"
},
"age": {
"type": "integer"
},
"address": {
"type": "text"
}
}
}
}
}


POST _bulk
{"index":{"_index":"customers","_type":"customer"}}
{"id":"1","category":"aa","email":"sam@test.com"}
{"index":{"_index":"customers","_type":"customer"}}
{"id": "2", "category" : "aa", "age": "5"}
{"index":{"_index":"customers","_type":"customer"}}
{"id": "3", "category" : "aa", "email": "bob@test.com", "age": "36"}
{"index":{"_index":"customers","_type":"customer"}}
{"id": "4", "category" : "bb", "email": "kim@test.com", "age": "42", "address": "london"}

这个想法是在 Kibana中可视化一个数据表,例如:
+----------+-------+-------+-----+---------+
| category | total | email | age | address |
+----------+-------+-------+-----+---------+
| aa | 3 | 2 | 2 | 0 |
| bb | 1 | 1 | 1 | 1 |
+----------+-------+-------+-----+---------+

(例如:我们有3个“aa”类别的客户;其中2个给了他们的电子邮件,2个给了他们的年龄,没有一个给其地址)

我可以弄清楚如何通过查询来做到这一点:
POST /customers/_search?size=0
{
"aggs": {
"category": {
"terms": {
"field": "category"
},
"aggs": {
"count_email": {
"filter": {
"exists": {
"field": "email"
}
}
},
"count_age": {
"filter": {
"exists": {
"field": "age"
}
}
},
"count_address": {
"filter": {
"exists": {
"field": "address"
}
}
}
}
}
}
}

但是我在Kibana Visualize中找不到如何做到这一点。
我应该使用脚本字段吗? JSON输入?怎么样 ?有没有更好的办法 ?

感谢您的建议。

最佳答案

在用户界面中,我能够使用关键字词过滤器拆分行。

以下是可帮助您入门的网址。

该调用将创建一个数据表,按计数聚合,并按类别关键字术语拆分行。

http://localhost:5601/app/kibana#/visualize/create?type=table&indexPattern=customers&_g=()&_a=(filters:!(),linked:!f,query:(query_string:(analyze_wildcard:!t,query:'*')),uiState:(vis:(params:(sort:(columnIndex:!n,direction:!n)))),vis:(aggs:!((enabled:!t,id:'1',params:(),schema:metric,type:count),(enabled:!t,id:'2',params:(field:category.keyword,order:desc,orderBy:_term,size:2),schema:bucket,type:terms)),listeners:(),params:(perPage:10,showMeticsAtAllLevels:!f,showPartialRows:!f,showTotal:!f,sort:(columnIndex:!n,direction:!n),totalFunc:sum),title:'CategoryTable',type:table))

关于elasticsearch - 使用过滤器对Kibana/Visualize中的值进行计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44570479/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com