Aggregate Elasti c поисковый запрос для нескольких полей - PullRequest
1 голос
/ 09 января 2020

Я пишу эластичный c поисковый запрос, полезная нагрузка которого выглядит как

"userData": [{"subject1": 1234, "subject2": 678}]

Я написал запрос, который прекрасно работает, если я хочу получить среднее значение для одного поля

Запрос:

{ 
  "aggs": { 
    "student_data": { 
      "date_histogram": { 
        "field":"@timestamp",
        "calendar_interval":"minute"
      },
      "aggs": { 
        "marks_avg": { 
          "avg": { 
            "field":"subject1"
          }
        }
      }
    }
  }
}

Мне нужно получить среднее значение субъекта 2 также.

примерно так:

"avg": { 
    "field":"subject1",
    "field":"subject2"
 }

1 Ответ

1 голос
/ 09 января 2020

Запрос с использованием нескольких агрегатов должен работать:

{ 
  "aggs": { 
    "student_data": { 
      "date_histogram": { 
        "field":"@timestamp",
        "calendar_interval":"minute"
      },
      "aggs": { 
        "subject1_avg": { 
          "avg": { 
            "field":"subject1"
          }
        },
        "subject2_avg": { 
          "avg": { 
            "field":"subject2"
          }
        }
      }
    }
  }
}
...