Синтезирование эластичного поиска и получение значений столбцов - PullRequest
0 голосов
/ 12 октября 2018

хотите получить значения столбцов bps и pps с течением времени посредством агрегации.Теперь, если вы используете мой запрос, вы можете получить только счет.Если есть способ получить значение определенного столбца в соответствии со значением интервала

, это мой код

<code>
 "size": 0,
  "aggs": {
    "group_by_state": {
      "date_histogram": {
        "field": "reg-date",
        "interval": "day",
        "min_doc_count": 0,
        "extended_bounds": {
          "min": "2018-10-01T00:00:00",
          "max": "2018-10-07T23:59:59"
        }
      }
    }
  }
</code>

Есть ли способ получить значение, которое не являетсяколичество определенных столбцов, которые удовлетворяют этому запросу?

1 Ответ

0 голосов
/ 12 октября 2018

Получение "значения" одного поля после агрегации больше не имеет смысла - если в вашей однодневной агрегации есть три документа, то у одного поля больше не будет одного "значения" в течение этого однодневного периода..

Вместо этого вы можете использовать субагрегацию для вычисления агрегированного значения за день, такого как сумма или среднее значение:

{
  "aggs": {
    "group_by_state": {
      "date_histogram": {
        "field": "reg-date",
        "interval": "day",
        "min_doc_count": 0,
        "extended_bounds": {
          "min": "2018-10-01T00:00:00",
          "max": "2018-10-07T23:59:59"
        }
      },
      # sub-aggregations
      "aggs": {
        "bps_average": {
          "avg": {
            "field": "bps"
          }
        },
        "pps_average": {
          "avg": {
            "field": "pps"
          }
        }
      }
    }
  }
}

Тогда у каждого сегмента будут поля bps_average иpps_average.Если вы замените avg на sum, вместо этого вы получите сумму, а много других агрегатов метрик .

В руководстве ElasticSearch есть хороший раздел об агрегацияхи вложенность .

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