Список пустых подкладок ElasticSearch в агрегации фильтров

aclokay спросил: 28 апреля 2018 в 09:26 в: elasticsearch

У меня многоуровневое агрегирование с фильтром, и я получаю пустые результаты для ведер, которые не имеют совпадений для фильтра. Я хочу исключить эти ведра.

Я попытался указать

Документы + запрос

GET test/_search
{
  "query": {
    "match_all": {}
  },
  "size": 0,
  "aggs": {
    "type": {
      "terms": {
        "field": "type.keyword",
        "size": 10
      },
      "aggs": {
        "languages": {
          "filter": {
            "term": {
              "sub_type.keyword": "fdsfsd"
            }
          },
          "aggs": {
            "sub_type": {
              "terms": {
                "field": "sub_type.keyword",
                 "min_doc_count": 1
                "size": 10
              }
            }
          }
        }
      }
    }
  }
}

Ответ:

      "buckets": [
        {
          "key": "language",
          "doc_count": 1,
          "languages": {
            "doc_count": 0,
            "sub_type": {
              "doc_count_error_upper_bound": 0,
              "sum_other_doc_count": 0,
              "buckets": []
            }
          }
        }

1 ответ

Muhammad Zubair Saleem ответил: 28 апреля 2018 в 09:38

Попробуйте

GET test/_search
{
  "query": {
    "match_all": {}
  },
  "size": 0,
  "aggs": {
    "type": {
      "terms": {
        "field": "type.keyword",
        "min_doc_count": 1, 
        "size": 10
      },
      "aggs": {
        "languages": {
          "filter": {
            "term": {
              "sub_type.keyword": "fdsfsd"
            }
          },
          "aggs": {
            "sub_type": {
              "terms": {
                "field": "sub_type.keyword",
                "min_doc_count": 1,
                "size": 10
              }
            }
          }
        }
      }
    }
  }
}

Изменения

Укажите min_doc_count на уровне верхнего уровня.

aclokay ответил: 28 апреля 2018 в 09:46
Я получаю тот же результат ..
Muhammad Zubair Saleem ответил: 28 апреля 2018 в 09:48
"ключ": "язык", "doc_count": 1, вы получаете минимум 1 счетчик документов в вашей аранжировке lanuage.
aclokay ответил: 28 апреля 2018 в 09:50
Возможно, я не прояснил ситуацию - я не хочу этого. Я хочу, чтобы языки, у которых есть сводные агрегирования, которые соответствуют фильтру