elasticsearch 如何使用Kibana中Elasticsearch的最新值显示唯一计数,elasticsearch,kibana,elastic-stack,elasticsearch,Kibana,Elastic Stack" /> elasticsearch 如何使用Kibana中Elasticsearch的最新值显示唯一计数,elasticsearch,kibana,elastic-stack,elasticsearch,Kibana,Elastic Stack" />

elasticsearch 如何使用Kibana中Elasticsearch的最新值显示唯一计数

elasticsearch 如何使用Kibana中Elasticsearch的最新值显示唯一计数,elasticsearch,kibana,elastic-stack,elasticsearch,Kibana,Elastic Stack,我是新来的麋鹿。我创建了名为“ordersatus”的索引,用于存储物流合作伙伴发布的状态 每当物流合作伙伴更新订单状态时,新状态就会被推送到elasticseach 现在,每个订单都有多个条目,其订单状态为“订单确认”、“预约已安排”、“外出交货”等 当我需要查看有多少订单处于哪种状态时,问题就出现了。 订单总数为2,但在订单状态下,我得到的订单总数为4。因为它也计算旧值。正如您在所附的屏幕截图中看到的 我想显示所有唯一订单状态以及具有该状态的订单计数。 i、 e 订单状态|总计数 任命确认|

我是新来的麋鹿。我创建了名为“ordersatus”的索引,用于存储物流合作伙伴发布的状态

每当物流合作伙伴更新订单状态时,新状态就会被推送到elasticseach

现在,每个订单都有多个条目,其订单状态为“订单确认”、“预约已安排”、“外出交货”等

当我需要查看有多少订单处于哪种状态时,问题就出现了。 订单总数为2,但在订单状态下,我得到的订单总数为4。因为它也计算旧值。正如您在所附的屏幕截图中看到的

我想显示所有唯一订单状态以及具有该状态的订单计数。 i、 e

订单状态|总计数 任命确认| 1
分配|u进行|u交付| 1

到目前为止,其显示订单状态为“已确认”,计数为2。这是这两个订单的旧值


您想在第二个屏幕截图的表格中显示不同的状态及其计数吗?在bucket中有两个选项-timestamp和status:删除时间戳,因为这将拆分为每个唯一的时间戳。你想要的只是状态

这是一个不同的数据集,但您可以理解:


作为一种解决方法,您可以将以下内容添加到日志存储配置中,以便为每个状态添加权重。当状态从以前的状态转换时,将-1添加到以前的状态权重,并将1添加到新的状态权重

if [status] == "ORDER CONFIRM" {

  mutate { "add_field" => { "order_confirm_weight" => "1" } }
  mutate { convert => { "order_confirm_weight" => "integer" }}

} else if [status] == "APPOINTMENT SCHEDULED" {

  mutate { "add_field" => { "order_confirm_weight" => "-1" } }
  mutate { convert => { "order_confirm_weight" => "integer" }}

  mutate { "add_field" => { "appointment_scheduled_weight" => "1" } }
  mutate { convert => { "appointment_scheduled_weight" => "integer" }}  

} else if [status] == "OUT FOR DELIVERY" {

  mutate { "add_field" => { "appointment_scheduled_weight" => "-1" } }
  mutate { convert => { "appointment_scheduled_weight" => "integer" }}  

  mutate { "add_field" => { "out_for_delivery_weight" => "1" } }
  mutate { convert => { "out_for_delivery_weight" => "integer" }}  

}
将配置添加到日志存储后,可以使用以下聚合函数获取kibana可视化中每个状态的计数

ORDER CONFIRM Count = Sum (order_confirm_weight)
APPOINTMENT SCHEDULED Count = Sum (appointment_scheduled_weight)
OUT FOR DELIVERY Count = Sum (out_for_delivery_weight)

嗨,xeraa,我试过“热门”,我能得到唯一订单的最新状态。现在我想执行进一步的步骤来分组输出,如订单状态“已确认”:计数2,“SIM_已激活”:屏幕截图下方的计数1 PFA。在这个可视化过程中,只会出现另一种情况:分成更小的组。不将组聚合在一起。在我看来,你想要的是一个术语聚合,而不是热门词汇