ElasticSearch пустой список подкатегорий при агрегации фильтров - PullRequest
0 голосов
/ 22 мая 2018

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

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

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

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 Ответ

0 голосов
/ 22 мая 2018

Попробуйте

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 на агрегации верхнего уровня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...