Как агрегировать данные с диапазоном дат? - PullRequest
0 голосов
/ 14 марта 2020

Здравствуйте, у меня возникает следующая проблема, когда я агрегирую данные, агрегации и, если быть более точным, гистограмма date_history всегда отличается. Он начинается с довольно случайной даты.

Я использую elasticpy, и мой запрос выглядит так перед выполнением. Обратите внимание, что я использую объекты python datetime, чтобы получить «реальные» результаты. У меня были некоторые проблемы с другими форматами.

{
    "query": {
        "bool": {
            "filter": [
                {
                    "range": {
                        "original_date": {
                            "gte": datetime.datetime(2020, 2, 13, 0, 0),
                            "lte": datetime.datetime(2020, 2, 15, 23, 0),
                        }
                    }
                }
            ],
            "must": [
                {
                    "query_string": {
                        "query": "whatever string"
                    }
                }
            ],
        }
    },
    "aggs": {
        "docs_histogram": {
            "date_histogram": {
                "field": "original_date",
                "interval": "hour",
                "time_zone": "EET",
            },
            ... (other aggs)
        },
    },
}

Гистограмма даты должна быть в этом диапазоне: 2020-02-13 00:00:00 - 2020-02-15 23:00:00 Но посмотрите на начало и конец вывода. Он начинается через 1 день и заканчивается в тот же день 18:00 ??

"buckets": [
    {
        "key_as_string": "2020-02-14T00:00:00.000+02:00",
        "key": 1581631200000,
        "doc_count": 1,
        "source_name": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": [{"key": "WhateverKey", "doc_count": 1}],
        },
    },
    ...
    {
        "key_as_string": "2020-02-14T18:00:00.000+02:00",
        "key": 1581696000000,
        "doc_count": 1,
        "source_name": {
            "doc_count_error_upper_bound": 0,
            "sum_other_doc_count": 0,
            "buckets": [{"key": "WhateverKey2", "doc_count": 1}],
        },
    },
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...