Поиск других документов на основе значения поля из другого запроса

#elasticsearch

Вопрос:

У меня есть указатель с этими документами.

 [
  {
    "name": "Name1",
    "class": "class-A",
    "daysPresent": "first Day"
  },
  {
    "name": "Name2",
    "class": "class-A",
    "daysPresent": "second Day"
  },
  {
    "name": "Name3",
    "class": "class-A",
    "daysPresent": "third Day"
  },
  {
    "name": "Name4",
    "class": "class-B",
    "daysPresent": "single Day"
  },
  {
    "name": "Name5",
    "class": "class-C",
    "daysPresent": "single Day"
  },
  {
    "name": "Name6",
    "class": "class-D",
    "daysPresent": "single Day"
  },
  {
    "name": "Name7",
    "class": "class-B",
    "daysPresent": "second Day"
  },
  {
    "name": "Name8",
    "class": "class-C",
    "daysPresent": "third Day"
  },
  {
    "name": "Name9",
    "class": "class-C",
    "daysPresent": "second Day"
  }
]
 

Теперь я хочу знать все записи, которые имеют то же значение daysPresent, что и те, которые присутствуют, скажем, в классе-C. Можно ли сделать что-то подобное в elasticsearch??

Запрос, который мне удалось создать до сих пор:

 GET skutest/_search
{
  "query": {
    "term": {
      "class.keyword": {
        "value": "class-C"
      }
    }
  },
  "aggs": {
    "DaysPresentBucket": {
      "terms": {
        "field": "daysPresent",
        "size": 10
      }
    },
    "GLobal": {
      "global": {},
      "aggs": {
        "ALLNamesWithSameDAy": {
          "filter": {
            "terms": {
              "daysPresent": [ //Pass value of DaysPresentBucket here
                "VALUE1",
                "VALUE2"
              ]
            }
          }
        },
        "TopHIts": {
          "top_hits": {
            "size": 10
          }
        }
      }
    }
}
 

In the above query I have no idea how to pass values in global aggregation dynamically depending on values from DaysPresentBucket