Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Агрегации ›Агрегации с использованием шаблонов

Агрегация вычисления статистических данных (Stats bucket)

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

Синтаксис

Агрегация stats_bucket выглядит следующим образом:

{
  "stats_bucket": {
    "buckets_path": "the_sum"
  }
}

Таблица 74. Параметры stats_bucket

Имя параметра Описание Требуется Значение по умолчанию

buckets_path

Путь к группам, для которых необходимо вычислить статистические данные (см. buckets_path Синтаксис для получения дополнительных сведений)

Требуется

gap_policy

Политика, применяемая при обнаружении пробелов в данных (см. Обработка пробелов в данных для получения дополнительных сведений)

Необязательно

skip

format

формат, применяемый к выходному значению этой агрегации

Необязательно

null

Следующий фрагмент вычисляет статистические данные для ежемесячных sales:

POST /sales/_search
{
  "size": 0,
  "aggs": {
    "sales_per_month": {
      "date_histogram": {
        "field": "date",
        "calendar_interval": "month"
      },
      "aggs": {
        "sales": {
          "sum": {
            "field": "price"
          }
        }
      }
    },
    "stats_monthly_sales": {
      "stats_bucket": {
        "buckets_path": "sales_per_month>sales" 
      }
    }
  }
}

bucket_paths указывает этой stats_bucket агрегации, что мы хотим вычислить статистические данные для sales агрегации в sales_per_month гистограмме дат.

И следующий может быть ответом:

{
   "took": 11,
   "timed_out": false,
   "_shards": ...,
   "hits": ...,
   "aggregations": {
      "sales_per_month": {
         "buckets": [
            {
               "key_as_string": "2015/01/01 00:00:00",
               "key": 1420070400000,
               "doc_count": 3,
               "sales": {
                  "value": 550.0
               }
            },
            {
               "key_as_string": "2015/02/01 00:00:00",
               "key": 1422748800000,
               "doc_count": 2,
               "sales": {
                  "value": 60.0
               }
            },
            {
               "key_as_string": "2015/03/01 00:00:00",
               "key": 1425168000000,
               "doc_count": 2,
               "sales": {
                  "value": 375.0
               }
            }
         ]
      },
      "stats_monthly_sales": {
         "count": 3,
         "min": 60.0,
         "max": 550.0,
         "avg": 328.3333333333333,
         "sum": 985.0
      }
   }
}

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-aggregations-pipeline-stats-bucket-aggregation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API