我想以文本格式(例如星期一、星期二等)获得星期几的聚合结果。我有以下聚合,其中我以星期几的形式获得结果,但采用数字格式,例如 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'))))))))))"
}
}
}
关于elasticsearch - 以文本格式获取一周中的某一天,例如星期一、星期二等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45860238/