我正在尝试使用elasticsearch中的数据在kibana中渲染条形图。 我的弹性搜索中有两个文档。
Document1
{
"Name": "BDV301",
"CheckName": "ADAccountPrivileges",
"CompletedDate": "2015-12-15T16:05:35.607Z"
}
Document2
{
"Name": "BDV301",
"CheckName": "ADAccountPrivileges",
"CompletedDate": "2014-12-15T16:05:35.607Z"
}
在kibana条形图中,我总是希望显示最新文档(根据CompletedDate字段)
我可以使用JSON输入字段吗? 我尝试添加json脚本
{
"filter" : {
"match_all" : { }
},
"sort": [
{
"CompletedDate": {
"order": "desc"
}
}
],
"size": 1
}
根据CompletedDate获取最新文档,但我仍然将计数设为2.奇怪的是,我没有在Kibana的Elasticsearch请求体中看到我的JSON输入。 这就是我在Elasticsearch请求体中看到的内容。
{
"size": 0,
"query": {
"filtered": {
"query": {
"query_string": {
"analyze_wildcard": true,
"query": "*"
}
},
"filter": {
"bool": {
"must": [
{
"range": {
"CompletedDate": {
"gte": 1292433048436,
"lte": 1450199448436,
"format": "epoch_millis"
}
}
}
],
"must_not": []
}
}
}
},
"aggs": {
"2": {
"terms": {
"field": "CheckName",
"size": 5,
"order": {
"_count": "desc"
}
}
}
}
}
为什么我的JSON输入脚本没有出现在Elasticsearch请求体中? 请帮助。
答案 0 :(得分:1)
如果要获取字段的最新值,可以使用术语聚合+按时间戳排序。当然,这样做的条形图并没有多大意义,因为你只有一个带有一个元素的条形图。
在我看来,使用表格获取最新值更有意义。为此,您必须在左栏中选择此选项:
这将产生一个具有所需值的表以及何时发生。
最后,JSON输入只允许您将属性放到聚合中,例如,如果要修改cardinality aggregation的精度,可以在此框中指定精度,但它不是字段在Kibana查询中插入任何内容。