Elasticsearch, гистограмма пропорционально сумме по дате - PullRequest
0 голосов
/ 31 августа 2018

Предположим, у меня есть отображение эластичного поиска, подобное этому:

{
   "properties": {
      "when": {
        "type": "date_range"
      },
      "amount": {
         "type": "long"
      }
   }
}

и я индексирую пару документов:

{
  "amount" : "100",
  "when" : {
    "gte" : "2018-08-01T13:00:00Z",
    "lt" : "2018-08-01T14:00:00Z"
  }
}

{
   "amount": 99,
   "when": {
     "gte": "2018-08-01T23:00:00Z",
     "lt": "2018-08-02T02:00:00Z"
   }
}

Обратите внимание, что диапазон дат для первого полностью находится в пределах 1 августа, но диапазон дат для второго попадает через границу 1/2 августа (в соотношении 1: 2).

Как мы можем создать агрегацию с контейнерами для каждого дня, суммируя поле «сумма» в каждом пакете - но где вклад каждого документа пропорционален соответствующим дням. Таким образом, с этими двумя документами мы получили бы два ведра (одно за 1 августа, одно за второе) с суммами 133 для первого и 66 для второго.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...