elasticsearch elasticsearch-以文本格式获取星期一、星期二等,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch elasticsearch-以文本格式获取星期一、星期二等,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch elasticsearch-以文本格式获取星期一、星期二等

elasticsearch elasticsearch-以文本格式获取星期一、星期二等,elasticsearch,kibana,elasticsearch,Kibana,我希望以文本格式(如星期一、星期二等)获得星期几的聚合结果。我有以下聚合,其中我以星期几的形式获得结果,但以数字格式(如星期一1,星期二2等)获得结果 "aggs": { "perWeekDay": { "terms": { "script": "doc['order_datetime'].date.dayOfWeek" } } } 更新:我使用脚本执行此操作,因为我想在kibana中添加自定义字段,我需要在其中提及此脚本。通过使

我希望以文本格式(如星期一、星期二等)获得星期几的聚合结果。我有以下聚合,其中我以星期几的形式获得结果,但以数字格式(如星期一1,星期二2等)获得结果

"aggs": {
   "perWeekDay": {
       "terms": {
           "script": "doc['order_datetime'].date.dayOfWeek"
       }
    }
}

更新:我使用脚本执行此操作,因为我想在kibana中添加自定义字段,我需要在其中提及此脚本。

通过使用条件执行一些脚本工作来解决此问题

"aggs": {
   "perWeekDay": {
       "terms": {
           "script": "(doc['order_datetime'].date.dayOfWeek == 1 ? 'Monday' : (doc['order_datetime'].date.dayOfWeek == 2 ? 'Tuesday' : ((doc['order_datetime'].date.dayOfWeek == 3 ? 'Wednesday' : ((doc['order_datetime'].date.dayOfWeek == 4 ? 'Thursday' : ((doc['order_datetime'].date.dayOfWeek == 5 ? 'Friday' : ((doc['order_datetime'].date.dayOfWeek == 6 ? 'Saturday' : 'Sunday'))))))))))"
       }
    }
}

或者你可以这样做


doc['timestamp'].date.dayOfWeek+”(“+[”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”,“Sun”][doc['timestamp'].date.dayOfWeek]+”)

您可以在客户端上有一个简单的映射,将数字映射到日期名称,对吗?是的,但我正在尝试查找在弹性搜索中没有doc['timestamp'].date.dayOfWeek().getxt()我在answers()中看到了这一点,有没有办法在新版本中得到它,因为它不起作用。您可以尝试使用
EEE
模式格式化日期,以获得相应的三个字母的日期。