Как рассчитать общее количество студентов на основе нескольких условий - PullRequest
0 голосов
/ 08 июля 2019

Я хочу получить количество учеников на основе нескольких условий "и", например: Подсчитать количество учеников, у которых ученик не в 10-м классе и ученик_in ["A", "B"] Оценка и предмет для учащихся - математика.

Я уже пробовал с запросом агрегации, но не знаю, как его составить и подготовить

'{"aggs": {"num_of_students": {"terms": {"field": "student"}}}}'

Пожалуйста, помогите.

Ожидаемый результат: подсчитать количество студентов на основе "и "состояние.Фактический результат: получение количества всех студентов.

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете использовать запрос bool вместе с aggs, чтобы применить агрегирование только к результату запроса, как показано ниже

GET my_index/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "class": 10
          }
        }
      ],
      "filter": [
        {
          "match": {
            "grade": "A B"
          }
        }
      ]
    }
  },
  "aggs": {
    "num_of_students": {
      "terms": {
        "field": "student"
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...