Эластичная поисковая агрегация. Упорядочить по вложенному ведру doc_count

Чего я хочу добиться, так это агрегирования по уникальным парам (город, ГОСУДАРСТВО). Согласно документации ElasticsearchАгрегирование терминов не поддерживает сбор терминов из нескольких полей в одном документе., Таким образом я создал вложенную агг как это:

{
  "size": 0,
  "aggs": {
    "cities": {
      "terms": {
        "field": "address.city",
        "size": 12
      },
      "aggs": {
        "states": {
          "terms": {
            "field": "address.stateOrProvince"
          },
          "aggs": {
            "topCity": {
              "top_hits": {
                "size": 1,
                "sort": [
                  {
                    "price.value": {
                      "order": "desc" }}]}}}}}}}}

В результате этой агрегации я получаю такой ответ:

{
  "aggregations": {
    "cities": {
      "buckets": [
        {
          "key": "las vegas",
          "doc_count": 5927,
          "states": {
            "buckets": [
              { "key": "nv", "doc_count": 5840 },
              { "key": "nm", "doc_count": 85 }
            ]
          }
        },
        {
          "key": "jacksonville",
          "doc_count": 5689,
          "states": {
            "buckets": [
              { "key": "fl", "doc_count": 2986 },
              { "key": "nc", "doc_count": 1962 },
              { "key": "ar", "doc_count": 290 }]}}]}}}

Вопрос в том, как получить результаты, упорядоченные самой глубокой doc_count?

Ожидаемый упорядоченный список должен быть таким:

Лас-Вегас, Северная Каролина (5840)Джексонвилл, штат Флорида (2986)Джексонвилл, Северная Каролина (1962)Джексонвилл, Ар (290)Лас-Вегас, нм (85)

Ответы на вопрос(0)

Ваш ответ на вопрос