Требуется выходной сигнал отфильтрованного агрегирования в не вложенном формате - PullRequest
0 голосов
/ 30 апреля 2019

У меня следующий запрос, который дает желаемый результат, но во вложенном формате.

{
  "size": 0,
  "aggs": {
    "Pre_Post": {
      "filters": {
        "filters": {
          "PRE": {
            "range": {
              "mydate": {
                "gte": "2017-12-31||-6M",
                "lte": "2017-12-31"
              }
            }
          },
          "POST": {
            "range": {
              "mydate": {
                "gte": "2018-08-01",
                "lte": "2018-08-07"
              }
            }
          }
        }
      },
      "aggs": {
        "dimension1": {
          "terms": {
            "field": "myType.keyword"
          },
          "aggs": {
            "sales": {
              "sum": {
                "field": "sales"
              }
            }
          }
        }
      }
    }
  }
}

вывод выше примерно в формате

"PRE_POST": {
    "PRE": {
        "buckets": {
            "dimension1": {
                "key": "field1",
                "buckets": {
                    "sales": 50
                }
            }
        }
    }
}

Есть ли способ получить это в не вложенном формате, что-то вроде того, что дано в составном запросе, с некоторыми менее вложенными-ness.

желаемый пример вывода что-то вроде

"PRE_POST": {
    "Key1": "PRE",
    "dimension1": "field1",
    "buckets": {
        "sales": 50
    }
}

Я пробовал составные, но составные фильтры не разрешают.Я пробовал составные с PRE_POST в качестве поля сценария, но очень медленно.Я также попробовал матрицу смежности, где два фильтра предназначены для PRE и POST, а другие - для каждого поля измерения1.Но это возвращает слишком много ненужных данных.

Есть ли какой-либо способ или метод, который мне не хватает, чтобы получить вывод в менее вложенном формате.

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