Cardinality aggregation вычисляет приблизительное количество различных значений.

Например можно подсчитать количество статусов http ответа ( http response code ).

GET mylogs/_search
{
  "aggs": {
    "type_count": {
      "cardinality": {
        "field": "FIELD1"
      }
    }
  }
}

В выводе получим 6. Т.е поле FIELD1 содержит 6 различных значений.

{
  ...
  "aggregations": {
    "type_count": {
      "value": 6
    }
  }
}

precision_threshold

Precision_threshold позволяют торговать памятью на точность и определяют уникальный счетчик, ниже которого ожидается, что счет будет близок к точному. Выше этого значения счет может стать немного более нечетким. Максимальное поддерживаемое значение - 40000, пороговые значения выше этого числа будут иметь тот же эффект, что и порог 40000. Значение по умолчанию - 3000.

Missing

По умолчанию cardinality отбрасывает документы с пустым значением. Чтобы учитывать такое значения можно выставить missing со значением, которое и будет заменять пустое значение.

GET mylogs/_search
{
  "aggs": {
    "tag_cardinality": {
      "cardinality": {
        "field": "FIELD1",
        "missing": "N/A" 
      }
    }
  }
}