print("Hello everybody1")
Для моего мастера у меня есть 1 курс программирования, это первый раз, когда курс дается, что приводит к большому количеству проблем. Наше понимание эластичного поиска ограничено. Для задания у меня есть файл с временем прохождения заказа, упорядоченного по дням недели. В настоящее время я борюсь с двумя проблемами, приведенными ниже:
- среднее время в пути (заказано в час в будний день в неделю). Приведенный ниже код содержит общее количество заказов за день в неделю, я не знаю, как разделить день на часы.
searchbody_total_hours ={
"size": 0,
"aggs":{
"time_per_hour_per_day_of_week": {
"terms": {
"size": 24,
"script":{
"lang": "painless",
"source": "doc['datetime_of_order'].value.dayOfWeek"
}
},
"aggs": {
"number_of_weeks": {
"date_histogram": {
"field": "datetime_of_order",
"interval": "week"
}
},
"aggs": {
"totaltime": {
"sum": {
"field": "travel_time"
}
},
"average_travel_time": {
"bucket_script": {
"buckets_path": {
"totaltime": "travel_time",
"number_of_weeks": "number_of_weeks._bucket_count"
},
"script": "params.totaltime / params.number_of_weeks"
}
}
}
}
}
}
}
- среднее количество заказов (заказано за час в день недели).
searchbody_total_orders = {
"query":{
"bool": {
"must":{
"match": {"weekdayName" : "Monday"}
}
}
},
"aggs": {
"total_orders_per_hour_per_week_of_day": {
"terms":{
"size": 15,
"script": {
"lang": "painless",
"source": "doc['datetime_of_order'].value.hourOfDay"
}
},
"aggs": {
"number_of_weeks":{
"date_histogram":{
"field": "datetime_of_order",
"interval": "week"
}
},
"average_orders_per_hour_per_day_of_week": {
"bucket_script":{
"buckets_path": {
"doc_count": "_count",
"number_of_weeks": "number_of_weeks._bucket_count",
},
"script": "params.doc_count / params.number_of_weeks"
}
}
}
}
}
}
Если у кого-то есть способы улучшить мой код или есть ссылки для получения дополнительной информации, я буду благодарен.
С уважением
Коэн