У меня есть документы типа:Elasticsearch Aggregation на день недели и час дня
[{"msg":"hello", date: "some-date"},{"msg":"hi!", date: "some-date"}, ...
Я хочу, чтобы иметь количество документов по дням недели. Например, x сообщений отправили в понедельник, а y были отправлены во вторник и так далее.
Я использовал date_histogram с агрегацией, но он возвращает мне документы день мудрым. Он возвращает мне день, но скажите «Wed, 22» и «Wed, 29» возвращаются как отдельные агрегирующие документы.
Это несколько связано с Elasticsearch - group by day of week and hour, но ответа на этот вопрос нет, поэтому я отправляю его повторно. Согласно предложению, он просит меня выполнить агрегирование термина на key_as_string, но мне нужно добавить doc_count для каждого объекта, а не просто считать термины. Я также не знаю, как использовать key_as_string во вложенной агрегации.
Это то, что я пробовал:
"aggs" : {
"posts_over_days" : {
"date_histogram" : {
"field" : "created_time",
"interval": "day",
"format": "E"
}
}
Возможно, вы захотите включить агрегацию, которую вы пытались. – progrrammer
Я включил агрегацию. Это то же самое, что и ответ в ссылке, которую я разместил. –