Группировка терминов из агрегации в сегменты в ElasticSearch - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь сгруппировать некоторые сгруппированные данные в супер-наборы в Elastic Search, но не могу понять.

Мой запрос выглядит следующим образом:

GET /items/_search
{
  "query" : {
    "match_all": {}
  },
  "size": 0,
  "aggs": {
    "group_by_item" : {
      "terms": {
        "field": "category"
      }
    }
  }
}

Это даетследующее:

{
 ...
 "aggregations": {
    "group_by_category": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 1278,
      "buckets": [
        {
          "key": "Plane",
          "doc_count": 15482
        },
        {
          "key": "Bike",
          "doc_count": 10740
        },
        {
          "key": "Car",
          "doc_count": 9566
        }
      ]
    }
  }
}

Я бы хотел сгруппировать в новые категории, которые могут быть «что летит» и «что движет»:

{
 ...
 "aggregations": {
    "group_by_category": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 1278,
      "buckets": [
        {
          "key": "Flies",
          "doc_count": 15482
        },
        {
          "key": "Drives",
          "doc_count": 20306
        }
      ]
    }
  }
}
...